เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ: เจฎเฉ‡เจ•เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃเจพ

เจนเจฐ เจ•เฉเจ เจธเจพเจฒเจพเจ‚ เจตเจฟเฉฑเจš, เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจกเจฟเจตเฉˆเจฒเจชเจฎเฉˆเจ‚เจŸ เจ‡เฉฐเจกเจธเจŸเจฐเฉ€ เจ‡เฉฑเจ• เจชเฉˆเจฐเจพเจกเจพเจˆเจฎ เจธเจผเจฟเจซเจŸ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ—เฉเจœเจผเจฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจตเจฐเจคเจพเจฐเฉ‡ เจจเฉ‚เฉฐ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ เจฆเฉ€ เจงเจพเจฐเจจเจพ เจตเจฟเฉฑเจš เจตเจง เจฐเจนเฉ€ เจฆเจฟเจฒเจšเจธเจชเฉ€ เจตเจœเฉ‹เจ‚ เจฎเจพเจจเจคเจพ เจฆเจฟเฉฑเจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ เจธเจญ เจคเฉ‹เจ‚ เจจเจตเฉ€เจ‚ เจคเจ•เจจเจพเจฒเฉ‹เจœเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจนเจพเจฒ เจนเฉ€ เจตเจฟเฉฑเจš เจ‡เจธเจฆเฉ€ เจชเฉเจฐเจธเจฟเฉฑเจงเฉ€ เจธเจผเจพเจฌเจฆเจฟเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจ…เจธเจฎเจพเจจเฉ€ เจนเฉˆเฅค

เจตเฉฑเจกเฉ€เจ†เจ‚ เจฎเฉ‹เจจเฉ‹เจฒเจฟเจฅเจฟเจ• เจธเฉ‡เจตเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉเจฃ เจธเฉเจคเฉฐเจคเจฐ, เจ–เฉเจฆเจฎเฉเจ–เจคเจฟเจ†เจฐ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ เจฆเฉเจ†เจฐเจพ เจฌเจฆเจฒเจฟเจ† เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆเฅค เจ‡เฉฑเจ• เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจตเจฟเจธ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเฉ‹เจšเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจœเฉ‹ เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ เจ…เจคเฉ‡ เจฌเจนเฉเจค เจนเฉ€ เจ–เจพเจธ เจ‰เจฆเฉ‡เจธเจผ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เจน เจ‡เฉฑเจ• เจฐเจฟเจฒเฉ‡เจธเจผเจจเจฒ DBMS, เจ‡เฉฑเจ• เจเจ•เจธเจชเฉเจฐเฉˆเจธ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ, เจ‡เฉฑเจ• เจธเฉ‹เจฒเจฐ เจธเฉ‡เจตเจพ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค

เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ: เจฎเฉ‡เจ•เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃเจพ

เจ…เฉฑเจœเจ•เฉฑเจฒเฉเจน, เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจธเจฟเจธเจŸเจฎ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจ•เจฒเจชเจจเจพ เจ•เจฐเจจเจพ เจ”เจ–เจพ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ‡เจน เจธเจฅเจฟเจคเฉ€, เจฌเจฆเจฒเฉ‡ เจตเจฟเฉฑเจš, เจธเจพเจจเฉ‚เฉฐ เจกเฉŒเจ•เจฐ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจตเฉฑเจฒ เจฒเฉˆ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ.

เจกเฉŒเจ•เจฐ

เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจกเฉŒเจ•เจฐ, เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจธเจฐเจตเจฟเจธเจฟเจœเจผ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจ…เจคเฉ‡ เจคเฉˆเจจเจพเจคเฉ€ เจตเจฟเฉฑเจš, เจฒเจ—เจญเจ— เจ‡เฉฑเจ• เจ‰เจฆเจฏเฉ‹เจ— เจฎเจฟเจ†เจฐ เจฌเจฃ เจ—เจฟเจ† เจนเฉˆเฅค เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจตเฉˆเฉฑเจฌเจธเจพเจˆเจŸ 'เจคเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ‡เจน เจชเจคเจพ เจฒเจ—เจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจกเฉŒเจ•เจฐ เจ‡เจ•เจฎเจพเจคเจฐ เจธเฉเจคเฉฐเจคเจฐ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจนเฉˆ เจœเฉ‹ เจธเฉฐเจ—เจ เจจเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจ•เฉ‹เจˆ เจตเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ‡ เจจเจพเจฒ-เจจเจพเจฒ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจš เจตเฉฐเจกเจฃ เจ…เจคเฉ‡ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ - เจนเจพเจˆเจฌเฉเจฐเจฟเจก เจ•เจฒเจพเจ‰เจก เจคเฉ‹เจ‚ เจ•เจฟเจจเจพเจฐเฉ‡ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจคเฉฑเจ•เฅค

เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœ

เจ‡เฉฐเจœเจจเฉ€เจ…เจฐเจฟเฉฐเจ— เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœ เจฎเจฒเจŸเฉ€-เจ•เฉฐเจŸเฉ‡เจจเจฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจจ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ‡เฉฑเจ• เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจตเจฟเฉฑเจš เจ“เจจเฉ‡ เจกเฉŒเจ•เจฐ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเจจ เจœเจฟเฉฐเจจเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ‡ เจธเจฟเจฐเจœเจฃเจนเจพเจฐ เจฆเฉ€เจ†เจ‚ เจฒเฉ‹เฉœเจพเจ‚ เจนเจจเฅค

เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจ‡เฉฑเจ• YAML เจซเจพเจˆเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจจ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ เจจเจพเจฒ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจชเจฐเจธเจชเจฐ เจชเฉเจฐเจญเจพเจต เจจเฉ‚เฉฐ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐเจจ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ เจ‡เจธ เจฒเจˆ เจฎเจฒเจŸเฉ€-เจ•เฉฐเจŸเฉ‡เจจเจฐ เจกเฉŒเจ•เจฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจจ เจ…เจคเฉ‡ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจธเจพเจงเจจ เจนเฉˆเฅค

เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ: เจฎเฉ‡เจ•เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃเจพ
เจนเฉ‹เจธเจŸ เจธเจฟเจธเจŸเจฎ 'เจคเฉ‡ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจฆเฉ‹ เจ•เฉฐเจŸเฉ‡เจจเจฐ

เจœเฉ€ เจเจจ เจฏเฉ‚ เจฎเฉ‡เจ•

เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ make, เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจคเฉ‹เจ‚ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ เจ…เจคเฉ‡ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจฆเฉ‡ เจจเจฟเจฐเจฎเจพเจฃ เจจเฉ‚เฉฐ เจธเจตเฉˆเจšเจฒเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจธเจพเจงเจจ เจนเฉˆเฅค เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจ…เจธเฉ€เจ‚ เจ‡เจน เจ•เจนเจฟ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ make เจ•เจฟเจธเฉ‡ เจตเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ•เฉเจ เจ‡เจจเจชเฉเจŸ เจธเจฎเฉฑเจ—เจฐเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ•เฉเจ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจ•เฉเจ เจŸเฉ€เจšเฉ‡ เจคเฉฑเจ• เจฌเจฆเจฒเจฃ เจฒเจˆ เจ†เจฐเจฌเจฟเจŸเจฐเจฐเฉ€ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃเจพ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจนเฉเจ•เจฎ docker-compose เจธเฉฐเจ–เฉ‡เจช เจŸเฉ€เจšเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฟเจ† เจœเจพเจตเฉ‡เจ—เจพ (เจซเฉ‹เจจ เจŸเฉ€เจšเฉ‡).

เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉฑเจธเจฃ เจฒเจˆ make เจ‡เจธ เจฌเจพเจฐเฉ‡ เจ…เจธเฉ€เจ‚ เจ‡เจธ เจคเฉ‹เจ‚ เจ•เฉ€ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚, เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ Makefile.

เจธเจพเจกเฉ‡ เจตเจฟเฉฑเจš Makefile เจฐเฉˆเจ—เฉ‚เจฒเจฐ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจธเจผเจพเจฎเจฒ เจนเฉ‹เจฃเจ—เฉ€เจ†เจ‚ docker ะธ docker-compose, เจœเฉ‹ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค เจ…เจฐเจฅเจพเจค, เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ•เฉฐเจŸเฉ‡เจจเจฐ เจจเฉ‚เฉฐ เจ…เจธเฉˆเจ‚เจฌเจฒ เจ•เจฐเจจ เจฌเจพเจฐเฉ‡, เจ‡เจธเจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฌเจพเจฐเฉ‡, เจ‡เจธเจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃ เจฌเจพเจฐเฉ‡, เจ‡เจธเจจเฉ‚เฉฐ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เจฐเจจ เจฌเจพเจฐเฉ‡, เจ•เฉฐเจŸเฉ‡เจจเจฐ เจตเจฟเฉฑเจš เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฒเฉŒเจ—เจ‡เจจ เจจเฉ‚เฉฐ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐเจจ เจฌเจพเจฐเฉ‡, เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฒเฉŒเจ—เจธ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฌเจพเจฐเฉ‡, เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจธเจฎเจพเจจ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚เฅค

เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ เจฒเจˆ เจ†เจฎ เจตเจฐเจคเฉ‹เจ‚ เจฆเฉ‡ เจ•เฉ‡เจธ

เจ†เจ‰ เจ‡เฉฑเจ• เจจเจฟเจฏเจฎเจค เจตเฉˆเจฌ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ€ เจ•เจฒเจชเจจเจพ เจ•เจฐเฉ€เจ เจœเจฟเจธ เจตเจฟเฉฑเจš เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจญเจพเจ— เจนเจจ:

  • เจŸเจพเจˆเจฎเจธเจ•เฉ‡เจฒเจกเฉ€เจฌเฉ€ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ (เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ)เฅค
  • Express.js เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเฅค
  • เจชเจฟเฉฐเจ— (เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจ•เฉฐเจŸเฉ‡เจจเจฐ, เจ•เฉเจ เจ–เจพเจธ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ)

เจ‡เจธ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ 3 เจกเฉŒเจ•เจฐ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€ docker-compose, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‡เจนเจจเจพเจ‚ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจฆเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฒเจˆ เจจเจฟเจฐเจฆเฉ‡เจธเจผ เจธเจผเจพเจฎเจฒ เจนเจจเฅค เจนเจฐเฉ‡เจ• เจ•เฉฐเจŸเฉ‡เจจเจฐ เจตเจฟเฉฑเจš เจตเฉฑเจ–-เจตเฉฑเจ– เจŸเฉฑเจšเจชเฉเจ†เจ‡เฉฐเจŸ เจนเฉ‹เจฃเจ—เฉ‡เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฆเฉ‡ เจจเจพเจฒ timescale เจ‡เจน เจฒเจ—เจญเจ— เจ‰เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹เจตเฉ‡เจ—เจพ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เจน เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจ…เจฐเจฅเจพเจค, เจ‡เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ:

  • เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจธเจผเฉˆเฉฑเจฒ เจตเจฟเฉฑเจš เจฒเฉŒเจ—เจ‡เจจ เจ•เจฐเจจเจพเฅค
  • เจŸเฉ‡เจฌเจฒ เจฆเจพ เจ†เจฏเจพเจค เจ…เจคเฉ‡ เจจเจฟเจฐเจฏเจพเจค.
  • เจธเฉเจฐเจฟเจธเจผเจŸเฉ€ pg_dump เจŸเฉ‡เจฌเจฒ เจœเจพเจ‚ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธเฅค

Express.js เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ•เฉฐเจŸเฉ‡เจจเจฐ, expressjs, เจตเจฟเฉฑเจš เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจนเฉ‹ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ:

  • เจธเจฟเจธเจŸเจฎ เจฒเฉŒเจ— เจคเฉ‹เจ‚ เจคเจพเจœเจผเจพ เจกเจพเจŸเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจเจพเฅค
  • เจ•เฉเจ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจธเจผเฉˆเฉฑเจฒ เจตเจฟเฉฑเจš เจฒเฉŒเจ—เจ‡เจจ เจ•เจฐเฉ‹เฅค

เจ•เฉฐเจŸเฉ‡เจจเจฐ เจจเจพเจฒ เจ—เฉฑเจฒเจฌเจพเจค

เจ‡เฉฑเจ• เจตเจพเจฐ เจœเจฆเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจธเฉฐเจšเจพเจฐ เจธเจฅเจพเจชเจค เจ•เจฐ เจฒเฉˆเจ‚เจฆเฉ‡ เจนเจพเจ‚, เจคเจพเจ‚ เจ‡เจน เจ‰เจนเจจเจพเจ‚ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจจเจพเจฒ เจธเฉฐเจšเจพเจฐ เจ•เจฐเจจ เจฆเจพ เจธเจฎเจพเจ‚ เจนเฉˆเฅค เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ เจธเจฟเจธเจŸเจฎ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ‡เฉฑเจ• เจ•เจฎเจพเจ‚เจก เจนเฉˆ docker-compose, เจธเจนเจพเจ‡เจ• เจตเจฟเจ•เจฒเจช -f, เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจซเจพเจ‡เจฒ เจจเฉ‚เฉฐ เจธเจฟเจธเจŸเจฎ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ docker-compose.yml.

เจ‡เจธ เจตเจฟเจ•เจฒเจช เจฆเฉ€เจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจคเฉเจธเฉ€เจ‚ เจธเจฟเจธเจŸเจฎ เจจเจพเจฒ เจ‡เฉฐเจŸเจฐเฉˆเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซ เจ‰เจนเจจเจพเจ‚ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจคเฉฑเจ• เจธเฉ€เจฎเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจœเฉ‹ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจฆเฉฑเจธเฉ‡ เจ—เจ เจนเจจ docker-compose.yml.

เจ†เจ‰ เจฆเฉ‡เจ–เฉ€เจ เจ•เจฟ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจจเจพเจฒ เจชเจฐเจธเจชเจฐ เจชเฉเจฐเจญเจพเจต เจ•เจฟเจนเฉ‹ เจœเจฟเจนเจพ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ docker-compose. เจœเฉ‡เจ•เจฐ เจ…เจธเฉ€เจ‚ เจ•เจฒเจชเจจเจพ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ เจธเจผเฉˆเฉฑเจฒ เจตเจฟเฉฑเจš เจฒเฉŒเจ—เจ‡เจจ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ psql, เจซเจฟเจฐ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ:

docker-compose -f docker-compose.yml exec timescale psql -Upostgres

เจ‰เจนเฉ€ เจ•เจฎเจพเจ‚เจก เจœเฉ‹ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจจเจนเฉ€เจ‚ เจตเจฐเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ docker-composeเจ…เจคเฉ‡ docker, เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡ เจธเจ•เจฆเจพ เจนเฉˆ:

docker exec -it  edp_timescale_1 psql -Upostgres

เจ•เจฟเจฐเจชเจพ เจ•เจฐเจ•เฉ‡ เจจเฉ‹เจŸ เจ•เจฐเฉ‹ เจ•เจฟ เจ…เจœเจฟเจนเฉ‡ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจนเจฎเฉ‡เจธเจผเจพเจ‚ เจคเจฐเจœเฉ€เจนเฉ€ เจนเฉเฉฐเจฆเจพ เจนเฉˆ docker, เจ…เจคเฉ‡ เจนเฉเจ•เจฎ docker-compose, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฆเฉ‡ เจจเจพเจฎ เจฏเจพเจฆ เจฐเฉฑเจ–เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจ‰เจชเจฐเฉ‹เจ•เจค เจฆเฉ‹เจตเฉ‡เจ‚ เจนเฉเจ•เจฎ เจ‡เฉฐเจจเฉ‡ เจ”เจ–เฉ‡ เจจเจนเฉ€เจ‚ เจนเจจเฅค เจชเจฐ เจœเฉ‡เจ•เจฐ เจ…เจธเฉ€เจ‚ เจซเจพเจฐเจฎ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• "เจฐเฉˆเจชเจฐ" เจตเจฐเจคเจฟเจ† เจนเฉˆ Makefile, เจœเฉ‹ เจธเจพเจจเฉ‚เฉฐ เจธเจงเจพเจฐเจจ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฆเฉ‡เจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจ†เจชเจฃเฉ‡ เจ†เจช เจตเจฟเฉฑเจš เจธเจฎเจพเจจ เจฒเฉฐเจฌเฉ€เจ†เจ‚ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเฉ‡เจ—เจพ, เจซเจฟเจฐ เจ‰เจนเฉ€ เจจเจคเฉ€เจœเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจ:

make db-shell

เจ‡เจน เจ•เจพเจซเจผเฉ€ เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ เจ•เจฟ เจตเจฐเจคเฉ‹เจ‚ Makefile เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจฌเจนเฉเจค เจธเฉŒเจ–เจพ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ!

เจ•เจพเจฐเจœเจธเจผเฉ€เจฒ เจ‰เจฆเจพเจนเจฐเจจ

เจ‰เจชเจฐเฉ‹เจ•เจค เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจกเจพเจ‡เจ—เฉเจฐเจพเจฎ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡, เจ…เจธเฉ€เจ‚ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€ เจซเจพเจˆเจฒ เจฌเจฃเจพเจตเจพเจ‚เจ—เฉ‡ docker-compose.yml:

version: '3.3'
services:
    api:
        build: .
        image: mywebimage:0.0.1
        ports:
            - 8080:8080
        volumes:
            - /app/node_modules/
        depends_on:
            - timescale
        command: npm run dev
        networks:
            - webappnetwork
    timescale:
        image: timescale/timescaledb-postgis:latest-pg11
        environment:
          - POSTGRES_USER=postgres
          - POSTGRES_PASSWORD=postgres
        command: ["postgres", "-c", "log_statement=all", "-c", "log_destination=stderr"]
        volumes:
          - ./create_schema.sql:/docker-entrypoint-initdb.d/create_schema.sql
        networks:
           - webappnetwork
    ping:
       image: willfarrell/ping
       environment:
           HOSTNAME: "localhost"
           TIMEOUT: 300
networks:
   webappnetwork:
       driver: bridge

เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจจเจพเจฒ เจ‡เฉฐเจŸเจฐเฉˆเจ•เจŸ เจ•เจฐเจจ เจฒเจˆ เจœเฉ‹ เจ‡เจน เจตเจฐเจฃเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจธเฉ€เจ‚ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€ เจซเจพเจˆเจฒ เจฌเจฃเจพเจตเจพเจ‚เจ—เฉ‡ Makefile:

THIS_FILE := $(lastword $(MAKEFILE_LIST))
.PHONY: help build up start down destroy stop restart logs logs-api ps login-timescale login-api db-shell
help:
        make -pRrq  -f $(THIS_FILE) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$'
build:
        docker-compose -f docker-compose.yml build $(c)
up:
        docker-compose -f docker-compose.yml up -d $(c)
start:
        docker-compose -f docker-compose.yml start $(c)
down:
        docker-compose -f docker-compose.yml down $(c)
destroy:
        docker-compose -f docker-compose.yml down -v $(c)
stop:
        docker-compose -f docker-compose.yml stop $(c)
restart:
        docker-compose -f docker-compose.yml stop $(c)
        docker-compose -f docker-compose.yml up -d $(c)
logs:
        docker-compose -f docker-compose.yml logs --tail=100 -f $(c)
logs-api:
        docker-compose -f docker-compose.yml logs --tail=100 -f api
ps:
        docker-compose -f docker-compose.yml ps
login-timescale:
        docker-compose -f docker-compose.yml exec timescale /bin/bash
login-api:
        docker-compose -f docker-compose.yml exec api /bin/bash
db-shell:
        docker-compose -f docker-compose.yml exec timescale psql -Upostgres

เจ‡เฉฑเจฅเฉ‡ เจตเจฐเจฃเจฟเจค เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจธเจพเจฐเฉ‡ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ, เจชเจฐ เจตเจฟเจ•เจฒเจช เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ c= เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฎเจพเจ‚เจก เจฆเฉ‡ เจฆเจพเจ‡เจฐเฉ‡ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ•เฉฐเจŸเฉ‡เจจเจฐ เจคเฉฑเจ• เจธเฉ€เจฎเจค เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

เจฌเจพเจ…เจฆ Makefile เจคเจฟเจ†เจฐ, เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจตเจฐเจค เจธเจ•เจฆเฉ‡ เจนเฉ‹:

  • make help โ€” เจฒเจˆ เจ‰เจชเจฒเจฌเจง เจธเจพเจฐเฉ€เจ†เจ‚ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจœเจพเจฐเฉ€ เจ•เจฐเจจเจพ make.

เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ: เจฎเฉ‡เจ•เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃเจพ
เจ‰เจชเจฒเจฌเจง เจ•เจฎเจพเจ‚เจกเจพเจ‚ 'เจคเฉ‡ เจฎเจฆเจฆ เจ•เจฐเฉ‹

  • make build - เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจเจพ Dockerfile. เจธเจพเจกเฉ‡ เจ‰เจฆเจพเจนเจฐเจฃ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจฎเฉŒเจœเฉ‚เจฆเจพ เจšเจฟเฉฑเจคเจฐเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจนเฉˆ timescale ะธ ping. เจชเจฐ เจšเจฟเฉฑเจคเจฐ api เจ…เจธเฉ€เจ‚ เจธเจฅเจพเจจเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจ‡เจธ เจ•เจฎเจพเจ‚เจก เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจฌเจฟเจฒเจ•เฉเจฒ เจ‡เจนเฉ€ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค

เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ: เจฎเฉ‡เจ•เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃเจพ
เจ‡เฉฑเจ• เจกเฉŒเจ•เจฐ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฌเจฃเจพเจ‰เจฃเจพ

  • make start - เจธเจพเจฐเฉ‡ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ‚เจš เจ•เจฐเจจเจพเฅค เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจ•เฉฐเจŸเฉ‡เจจเจฐ เจจเฉ‚เฉฐ เจฒเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ make start c=timescale.

เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ: เจฎเฉ‡เจ•เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃเจพ
เจŸเจพเจˆเจฎเจธเจ•เฉ‡เจฒ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‡เจ† เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆ

เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ: เจฎเฉ‡เจ•เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃเจพ
เจ‡เฉฑเจ• เจชเจฟเฉฐเจ— เจ•เฉฐเจŸเฉ‡เจจเจฐ เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆ

  • make login-timescale โ€” เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฆเฉ‡ เจฌเฉˆเจธเจผ เจธเฉˆเจธเจผเจจ เจตเจฟเฉฑเจš เจฒเจพเจ—เจ‡เจจ เจ•เจฐเฉ‹ timescale.

เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ: เจฎเฉ‡เจ•เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃเจพ
เจŸเจพเจˆเจฎเจธเจ•เฉ‡เจฒ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจตเจฟเฉฑเจš เจฌเฉˆเจธเจผ เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆ

  • make db-shell - เจฒเจˆ เจชเฉเจฐเจตเฉ‡เจธเจผ เจฆเฉเจ†เจฐ psql เจ‡เฉฑเจ• เจ•เฉฐเจŸเฉ‡เจจเจฐ เจตเจฟเฉฑเจš timescale เจกเจพเจŸเจพเจฌเฉ‡เจธ เจฆเฉ‡ เจตเจฟเจฐเฉเฉฑเจง SQL เจธเจตเจพเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ.

เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ: เจฎเฉ‡เจ•เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃเจพ
เจŸเจพเจˆเจฎเจธเจ•เฉ‡เจฒเจกเจฌเฉ€ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจตเจฟเฉฑเจš psql เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆ

  • make stop - เจกเฉฑเจฌเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃเจพเฅค

เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ: เจฎเฉ‡เจ•เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃเจพ
เจŸเจพเจˆเจฎเจธเจ•เฉ‡เจฒ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฟเจ† เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆ

  • make down - เจกเฉฑเจฌเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃเจพ เจ…เจคเฉ‡ เจนเจŸเจพเจ‰เจฃเจพเฅค เจ‡เฉฑเจ• เจ–เจพเจธ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจจเฉ‚เฉฐ เจนเจŸเจพเจ‰เจฃ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ‡ เจนเฉ‹เจ เจ‡เจธ เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ - make down c=timescale เจœ make down c=api.

เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ: เจฎเฉ‡เจ•เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃเจพ
เจธเจพเจฐเฉ‡ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃเจพ เจ…เจคเฉ‡ เจฎเจฟเจŸเจพเจ‰เจฃเจพ

เจจเจคเฉ€เจœเฉ‡

เจนเจพเจฒเจพเจ‚เจ•เจฟ เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ เจธเจพเจจเฉ‚เฉฐ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจฆเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฒเจˆ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจ…เจฎเฉ€เจฐ เจธเจฎเฉ‚เจน เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจ•เจˆ เจตเจพเจฐ เจ‡เจน เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจฒเฉฐเจฌเฉ‡ เจ…เจคเฉ‡ เจฏเจพเจฆ เจฐเฉฑเจ–เจฃ เจตเจฟเฉฑเจš เจฎเฉเจธเจผเจ•เจฒ เจนเฉ‹ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจเฅค

เจตเจฐเจคเจฃ เจฆเฉ€ เจตเจฟเจงเฉ€ Makefile เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจคเฉ‹เจ‚ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจจเจพเจฒ เจคเฉ‡เจœเจผ เจ…เจคเฉ‡ เจ†เจธเจพเจจ เจ‡เฉฐเจŸเจฐเฉˆเจ•เจธเจผเจจ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจตเจฟเฉฑเจš เจธเจพเจกเฉ€ เจฎเจฆเจฆ เจ•เฉ€เจคเฉ€ docker-compose.yml. เจ…เจฐเจฅเจพเจค, เจ…เจธเฉ€เจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚:

  • เจกเจฟเจตเฉˆเจฒเจชเจฐ เจธเจฟเจฐเจซ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจจเจพเจฒ เจ‡เฉฐเจŸเจฐเฉˆเจ•เจŸ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจตเจฐเจฃเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ docker-compose.yml, เจฆเฉ‚เจœเฉ‡ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจ•เฉฐเจฎ เจตเจฟเฉฑเจš เจฆเจ–เจฒ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฑเจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค
  • เจœเฉ‡เจ•เจฐ เจ•เฉ‹เจˆ เจ–เจพเจธ เจ•เจฎเจพเจ‚เจก เจญเฉเฉฑเจฒ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ•เจฎเจพเจ‚เจก เจšเจฒเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹ make help เจ…เจคเฉ‡ เจ‰เจชเจฒเจฌเจง เจ•เจฎเจพเจ‚เจกเจพเจ‚ 'เจคเฉ‡ เจฎเจฆเจฆ เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ‹เฅค
  • เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจ•เจฐเจจ เจฒเจˆ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจฒเฉฐเจฌเฉ€เจ†เจ‚ เจธเฉ‚เจšเฉ€เจ†เจ‚ เจฏเจพเจฆ เจฐเฉฑเจ–เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจจเจตเฉ€เจจเจคเจฎ เจฒเฉŒเจ— เจเจ‚เจŸเจฐเฉ€เจ†เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจœเจพเจ‚ เจธเจฟเจธเจŸเจฎ เจตเจฟเฉฑเจš เจฒเฉŒเจ—เจ‡เจจ เจ•เจฐเจจเจพเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจ•เจฎเจพเจ‚เจก เจตเจฐเจ—เฉ€ docker-compose -f docker-compose.yml exec timescale psql -Upostgres เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฆเจพ เจนเฉˆ make db-shell.
  • เจซเจพเจ‡เจฒ Makefile เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจตเจงเจฆเจพ เจนเฉˆ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจจเฉ‚เฉฐ เจฒเจšเจ•เจฆเจพเจฐ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจ…เจจเฉเจ•เฉ‚เจฒ เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจกเจพเจŸเจพเจฌเฉ‡เจธ เจฌเฉˆเจ•เจ…เฉฑเจช เจฌเจฃเจพเจ‰เจฃ เจœเจพเจ‚ เจ•เฉ‹เจˆ เจนเฉ‹เจฐ เจ•เจพเจฐเจตเจพเจˆ เจ•เจฐเจจ เจฒเจˆ เจ•เจฎเจพเจ‚เจก เจœเฉ‹เฉœเจจเจพ เจ†เจธเจพเจจ เจนเฉˆเฅค
  • เจœเฉ‡ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจตเฉฑเจกเฉ€ เจŸเฉ€เจฎ เจ‰เจธเฉ‡ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ€ เจนเฉˆ Makefile, เจ‡เจน เจธเจนเจฟเจฏเฉ‹เจ— เจจเฉ‚เฉฐ เจธเฉเจšเจพเจฐเฉ‚ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ—เจฒเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ˜เจŸเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค

PS เจธเจพเจกเฉ‡ เจตเจฟเฉฑเจš เจฌเจพเจœเจผเจพเจฐ เจ‡เฉฑเจ• เจšเจฟเฉฑเจคเจฐ เจนเฉˆ เจกเฉŒเจ•เจฐ, เจœเจฟเจธ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ•เจฒเจฟเฉฑเจ• เจตเจฟเฉฑเจš เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ 'เจคเฉ‡ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ VPS. เจธเจพเจฐเฉ‡ เจจเจตเฉ‡เจ‚ เจ—เจพเจนเจ•เจพเจ‚ เจจเฉ‚เฉฐ 3 เจฆเจฟเจจเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจฎเฉเจซเจผเจค เจฆเจฟเฉฑเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค

เจชเจฟเจ†เจฐเฉ‡ เจชเจพเจ เจ•! เจคเฉเจธเฉ€เจ‚ เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเจตเฉˆเจšเจฒเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเฉ‹?

เจกเฉŒเจ•เจฐ เจ•เฉฐเจชเฉ‹เจœเจผ: เจฎเฉ‡เจ•เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃเจพ

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹