SchemaKeeper เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจตเจชเจพเจฐเจ• เจคเจฐเจ•

เจ‡เจธ เจฒเฉ‡เจ– เจฆเจพ เจ‰เจฆเฉ‡เจธเจผ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฆเฉ€ เจ‰เจฆเจพเจนเจฐเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจนเฉˆ เจธเจ•เฉ€เจฎเจพ-เจ•เฉ€เจชเจฐ เจŸเฉ‚เจฒ เจฆเจฟเจ–เจพเจ“ เจœเฉ‹ PostgreSQL DBMS เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ PHP เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจกเจพเจŸเจพเจฌเฉ‡เจธ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจฐเจฒ เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเจจเฅค

เจ‡เจธ เจฒเฉ‡เจ– เจฆเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€, เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจ‰เจนเจจเจพเจ‚ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจฒเจˆ เจฒเจพเจญเจฆเจพเจ‡เจ• เจนเฉ‹เจตเฉ‡เจ—เฉ€ เจœเฉ‹ PostgreSQL เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจฆเจพ เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจฒเจพเจญ เจ‰เจ เจพเจ‰เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจชเจฐ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เฉ‡ เจ•เจพเจฐเฉ‹เจฌเจพเจฐเฉ€ เจคเจฐเจ• เจจเฉ‚เฉฐ เจ•เจพเจ‡เจฎ เจฐเฉฑเจ–เจฃ เจตเจฟเฉฑเจš เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐ เจฐเจนเฉ‡ เจนเจจเฅค

เจ‡เจน เจฒเฉ‡เจ– เจ‡เฉฑเจ• เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจตเจชเจพเจฐเจ• เจคเจฐเจ• เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฆเฉ‡ เจซเจพเจ‡เจฆเจฟเจ†เจ‚ เจœเจพเจ‚ เจจเฉเจ•เจธเจพเจจเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพเฅค เจ‡เจน เจฎเฉฐเจจเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจชเจพเจ เจ• เจฆเฉเจ†เจฐเจพ เจšเฉ‹เจฃ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ.

เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจธเจตเจพเจฒเจพเจ‚ 'เจคเฉ‡ เจตเจฟเจšเจพเจฐ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ:

  1. เจ‡เฉฑเจ• เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจกเฉฐเจช เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจฐเจœเจจ เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจธเจฟเจธเจŸเจฎ เจตเจฟเฉฑเจš เจ•เจฟเจธ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ (เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ VCS เจตเจœเฉ‹เจ‚ เจœเจพเจฃเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ)
  2. เจ‡เฉฑเจ• เจกเฉฐเจช เจจเฉ‚เฉฐ เจฌเจšเจพเจ‰เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจŸเจฐเฉˆเจ• เจ•เจฐเจจเจพ เจนเฉˆ
  3. เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจตเจฟเจตเจพเจฆ เจ…เจคเฉ‡ เจตเจฟเจธเจผเจพเจฒ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ‡ เจฆเฉ‚เจœเฉ‡ เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจš เจ•เจฟเจตเฉ‡เจ‚ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจจเจพ เจนเฉˆ
  4. เจ•เจˆ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ 'เจคเฉ‡ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจ•เฉฐเจฎ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐเจจเจพ เจนเฉˆ
  5. เจ‡เฉฑเจ• เจ‰เจคเจชเจพเจฆเจจ เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจขเฉฐเจ— เจจเจพเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจนเฉˆ

    เจธเจ•เฉ€เจฎเจพเจ•เฉ€เจชเจฐ เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ€เจ†เจ‚ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ PL/pgSQL. เจฆเฉ‚เจœเฉ€เจ†เจ‚ เจญเจพเจธเจผเจพเจตเจพเจ‚ เจจเจพเจฒ เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจตเจฐเจคเฉ‹เจ‚ เจ“เจจเฉ€ เจชเฉเจฐเจญเจพเจตเจธเจผเจพเจฒเฉ€ เจจเจนเฉ€เจ‚ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจœเจพเจ‚ เจธเฉฐเจญเจต เจจเจนเฉ€เจ‚ เจนเฉ‹ เจธเจ•เจฆเฉ€เฅค

VCS เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจขเจพเจ‚เจšเจพ เจกเฉฐเจช เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจเจพ เจนเฉˆ

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

เจ†เจ‰ เจ•เจˆ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฑเจ• เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจคเฉ‹เจ‚ เจ†เจฌเจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฆเฉ‡ เจนเฉ‹เจ เจตเฉ‡เจ–เฉ€เจ:

เจตเจธเจคเฉ‚ เจฆเฉ€ เจ•เจฟเจธเจฎ
เจธเจ•เฉ€เจฎ
เจŸเจพเจˆเจŸเจฒ
เจซเจพเจˆเจฒ เจฒเจˆ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจฎเจพเจฐเจ—

เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš
เจœเจจเจคเจ•
เจ–เจพเจคเฉ‡
./public/tables/accounts.txt

เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†
เจœเจจเจคเจ•
auth(เจนเฉˆเจธเจผ เจฌเจฟเจ—เจฟเฉฐเจŸ)
./public/functions/auth(int8).sql

เจœเจพเจฃ เจชเจ›เจพเจฃ
เจฌเฉเจ•เจฟเฉฐเจ—
เจฆเจฐเจพเจ‚
./booking/views/tariffs.txt

เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจ‡เฉฑเจ• เจ–เจพเจธ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจ†เจฌเจœเฉˆเจ•เจŸ เจฆเฉ€ เจฌเจฃเจคเจฐ เจฆเฉ€ เจ‡เฉฑเจ• เจŸเฉˆเจ•เจธเจŸ เจจเฉเจฎเจพเจ‡เฉฐเจฆเจ—เฉ€ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฒเจˆ, เจซเจพเจˆเจฒ เจฆเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฌเจฒเจพเจ• เจคเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉ€ เจชเฉ‚เจฐเฉ€ เจชเจฐเจฟเจญเจพเจธเจผเจพ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค CREATE OR REPLACE FUNCTION.

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

เจเจ•เจธเจผเจŸเฉ‡เจธเจผเจจ .sql เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ‡ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจตเจพเจฒเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจฒเจˆ, เจ‡เจน เจ‡เจธ เจฒเจˆ เจšเฉเจฃเจฟเจ† เจ—เจฟเจ† เจธเฉ€ เจคเจพเจ‚ เจ•เจฟ IDE เจ†เจชเจฃเฉ‡ เจ†เจช เจนเฉ€ เจกเจพเจŸเจพเจฌเฉ‡เจธ เจจเจพเจฒ เจ‡เฉฐเจŸเจฐเฉˆเจ•เจŸ เจ•เจฐเจจ เจฒเจˆ เจŸเฉ‚เจฒ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเฉ‡ เจœเจฆเฉ‹เจ‚ เจซเจพเจˆเจฒ เจ–เฉ‹เจฒเฉเจนเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค

เจ‡เฉฑเจ• เจกเฉฐเจช เจจเฉ‚เฉฐ เจฌเจšเจพเจ‰เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจŸเจฐเฉˆเจ• เจ•เจฐเจจเจพ เจนเฉˆ

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

เจœเจพเจ‚เจš เจ•เจฐเจจ เจฆเจพ เจ‡เฉฑเจ• เจตเจฟเจ•เจฒเจชเจฟเจ• เจคเจฐเฉ€เจ•เจพ เจนเฉˆ เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจ•เจพเจฒ เจ•เจฐเจจเจพ saveDump, เจ‰เจธเฉ‡ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ‡ เจนเฉ‹เจ, เจ…เจคเฉ‡ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจฒเจˆ VCS เจตเจฟเฉฑเจš เจœเจพเจ‚เจš เจ•เจฐเฉ‹เฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ€เจ†เจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจตเจธเจคเฉ‚เจ†เจ‚ เจตเฉฑเจ–เจฐเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ, VCS เจธเจฟเจฐเจซเจผ เจฌเจฆเจฒเฉ€เจ†เจ‚ เจนเฉ‹เจˆเจ†เจ‚ เจตเจธเจคเฉ‚เจ†เจ‚ เจจเฉ‚เฉฐ เจนเฉ€ เจฆเจฟเจ–เจพเจเจ—เจพเฅค
เจ‡เจธ เจตเจฟเจงเฉ€ เจฆเจพ เจฎเฉเฉฑเจ– เจจเฉเจ•เจธเจพเจจ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เจฃ เจฒเจˆ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ“เจตเจฐเจฐเจพเจˆเจŸ เจ•เจฐเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ.

เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจตเจฟเจตเจพเจฆ เจ…เจคเฉ‡ เจตเจฟเจธเจผเจพเจฒ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ‡ เจฆเฉ‚เจœเฉ‡ เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจš เจ•เจฟเจตเฉ‡เจ‚ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจจเจพ เจนเฉˆ

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

เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจธเจ•เฉ€เจฎเจพ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€ เจตเจฟเจงเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ public เจธเจฟเจฐเจซเจผ เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจจเจพเจฒ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจซเจพเจˆเจฒ เจฌเจฃเจพเจ“ .sql เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจตเจฟเฉฑเจš public/functions, เจ‡เจธ เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเจพ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจฐเฉฑเจ–เฉ‹, เจฌเจฒเจพเจ• เจธเจฎเฉ‡เจค CREATE OR REPLACE FUNCTION, เจซเจฟเจฐ เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเฉ‹ deployDump. เจ‡เฉฑเจ• เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจธเฉ‹เจงเจฃเจพ เจ…เจคเฉ‡ เจฎเจฟเจŸเจพเจ‰เจฃเจพ เจ‰เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ. เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจ•เฉ‹เจก เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ VCS เจ…เจคเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ‹เจตเจพเจ‚ เจตเจฟเฉฑเจš เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

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

เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€ เจตเจฟเจงเฉ€ เจฌเจฃเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡, เจธเจนเฉ€ เจซเจพเจˆเจฒ เจจเจพเจฎ เจจเฉ‚เฉฐ เจฆเจธเจคเฉ€ เจฆเจฐเจœ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจˆ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจซเจพเจˆเจฒ เจฒเจˆ เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจนเฉ‹เจฃเจพ เจ•เจพเจซเฉ€ เจนเฉˆ .sql. เจ•เจพเจฒ เจฆเฉ‡ เจฌเจพเจ…เจฆ deployDump เจ—เจฒเจคเฉ€ เจŸเฉˆเจ•เจธเจŸ เจตเจฟเฉฑเจš เจธเจนเฉ€ เจจเจพเจฎ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจœเจฟเจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจซเจพเจˆเจฒ เจฆเจพ เจจเจพเจฎ เจฌเจฆเจฒเจฃ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค

deployDump เจคเฉเจนเจพเจจเฉ‚เฉฐ เจซเฉฐเจ•เจธเจผเจจ เจฆเฉ‡ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจœเจพเจ‚ เจตเจพเจงเฉ‚ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเจฎ เจตเจพเจชเจธ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจ•เจฒเจพเจธเฉ€เจ•เจฒ เจชเจนเฉเฉฐเจš เจจเจพเจฒ เจคเฉเจนเจพเจจเฉ‚เฉฐ
เจชเจนเจฟเจฒเจพเจ‚ เจšเจฒเจพเจ“ DROP FUNCTION, เจ…เจคเฉ‡ เจ•เฉ‡เจตเจฒ เจคเจฆ CREATE OR REPLACE FUNCTION.

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

เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฎเจพเจˆเจ—เจฐเฉ‡เจŸ เจ•เจฐเจจ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉ‹ เจธเจ•เฉ€เจฎเจพ-เจ•เฉ€เจชเจฐ, เจซเจฟเจฐ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจฆเจพ เจคเจฌเจพเจฆเจฒเจพ เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจšเฉฐเจ—เฉ€ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจนเฉˆ เจธเจฟเจงเจพเจ‚เจค/เจชเฉเจฐเจตเจพเจธ.

เจชเฉเจฐเจตเจพเจธ เจจเฉ‚เฉฐ เจฒเจพเจ‚เจš เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ deployDump. เจ‡เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ€เจ†เจ‚ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจ•เจฐเจจ เจ…เจคเฉ‡ เจธเจฎเฉฑเจธเจฟเจ† เจตเจพเจฒเฉ€เจ†เจ‚ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจœเฉ‹ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ‡ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพ เจธเจ•เจฃเฅค

เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเจพ เจตเจฐเจฃเจจ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจญเจพเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจตเจงเฉ‡เจฐเฉ‡ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจš เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค

เจ•เจˆ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ 'เจคเฉ‡ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจ•เฉฐเจฎ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐเจจเจพ เจนเฉˆ

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

  1. เจ‡เฉฑเจ• เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจตเจพเจฒเฉ€ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจ†เจฏเจพเจค เจ•เจฐเฉ‹ เจœเจฟเจธเจจเฉ‚เฉฐ เจ•เจฟเจนเจพ เจœเจพเจตเฉ‡เจ—เจพ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ base.sql
  2. เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ
  3. เจšเฉเจฃเฉŒเจคเฉ€ deployDump

base.sql เจ‰เจน เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจฌเจฟเฉฐเจฆเฉ‚ เจนเฉˆ เจœเจฟเจธ เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจฒเจพเจ—เฉ‚ เจ…เจคเฉ‡ เจšเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ deployDump, เจ‡เจน เจนเฉˆ base.sql + ะผะธะณั€ะฐั†ะธะธ + deployDump = ะฐะบั‚ัƒะฐะปัŒะฝะฐั ัั‚ั€ัƒะบั‚ัƒั€ะฐ ะ‘ะ”. เจคเฉเจธเฉ€เจ‚ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ…เจœเจฟเจนเฉ€ เจซเจพเจˆเจฒ เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹ pg_dump. เจตเจฐเจคเจฟเจ† base.sql เจตเจฟเจธเจผเฉ‡เจธเจผ เจคเฉŒเจฐ 'เจคเฉ‡ เจœเจฆเฉ‹เจ‚ เจธเจ•เจฐเฉˆเจš เจคเฉ‹เจ‚ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจ†เจ‰ เจชเฉ‚เจฐเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€เจ•เจฐเจฃ เจฒเจˆ เจธเจ•เฉเจฐเจฟเจชเจŸ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเฉ€เจ refresh.sh. เจตเจฐเจ•เจซเจฒเฉ‹ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡ เจธเจ•เจฆเจพ เจนเฉˆ:

  1. เจกเจฟเจตเฉˆเจฒเจชเจฐ เจ†เจชเจฃเฉ‡ เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจš เจฒเจพเจ‚เจš เจ•เจฐเจฆเจพ เจนเฉˆ refresh.sh เจ…เจคเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจกเจพเจŸเจพเจฌเฉ‡เจธ เจขเจพเจ‚เจšเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ
  2. เจกเจฟเจตเฉˆเจฒเจชเจฐ เจจเจตเฉ‡เจ‚ เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ (ALTER TABLE ... ADD COLUMN เจ†เจฆเจฟ)
  3. เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจกเจฟเจตเฉˆเจฒเจชเจฐ เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจฆเจพ เจนเฉˆ saveDumpVCS เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจ•เฉ€เจคเฉ€เจ†เจ‚ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจ•เจฐเจจ เจฒเจˆ
  4. เจตเจฟเจ•เจพเจธเจ•เจพเจฐ เจฎเฉเฉœ-เจฒเจพเจ‚เจš refresh.shเจซเจฟเจฐ verifyDumpเจœเฉ‹ เจนเฉเจฃ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เจฐเจจ เจฒเจˆ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเจพ เจนเฉˆ
  5. เจกเจฟเจตเฉˆเจฒเจชเจฐ เจธเจพเจฐเฉ‡ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจฌเจฆเจฒเจพเจ… เจจเฉ‚เฉฐ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ, เจฆเฉเจฌเจพเจฐเจพ เจšเฉฑเจฒเจฆเจพ เจนเฉˆ refresh.sh ะธ verifyDump, เจ…เจคเฉ‡, เจœเฉ‡เจ•เจฐ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, verifyDump เจธเจฅเจพเจจเจ• เจกเจพเจŸเจพเจฌเฉ‡เจธ เจ…เจคเฉ‡ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เฉ€เจคเฉ‡ เจกเฉฐเจช เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจ…เฉฐเจคเจฐ เจจเจนเฉ€เจ‚ เจฆเจฟเจ–เจพเจเจ—เจพ

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

เจ†เจ‰ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฑเจ• เจธเฉฐเจ˜เจฐเจธเจผ เจธเจฅเจฟเจคเฉ€ 'เจคเฉ‡ เจตเจฟเจšเจพเจฐ เจ•เจฐเฉ€เจ: เจ‡เฉฑเจ• เจธเจผเจพเจ–เจพ เจนเฉˆ เจตเจฟเจ•เจธเจค เจ•เจฐเฉ‹, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฆเฉ‹ เจธเจผเจพเจ–เจพเจตเจพเจ‚ เจธเจผเจพเจ–เจพเจตเจพเจ‚: เจซเฉ€เจšเจฐ เจเจ•เจธ ะธ เจซเฉ€เจšเจฐ เจเจ•เจธ, เจœเจฟเจธ เจจเจพเจฒ เจ•เฉ‹เจˆ เจŸเจ•เจฐเจพเจ… เจจเจนเฉ€เจ‚ เจนเฉˆ เจตเจฟเจ•เจธเจค เจ•เจฐเฉ‹, เจชเจฐ เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ เจจเจพเจฒ เจตเจฟเจตเจพเจฆ เจนเฉˆเฅค เจ•เฉฐเจฎ เจฆเฉ‹เจตเจพเจ‚ เจธเจผเจพเจ–เจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฎเจฟเจฒเจพเจ‰เจฃเจพ เจนเฉˆ เจตเจฟเจ•เจธเจค เจ•เจฐเฉ‹. เจ‡เจธ เจ•เฉ‡เจธ เจฒเจˆ, เจชเจนเจฟเจฒเจพเจ‚ เจธเจผเจพเจ–เจพเจตเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจจเฉ‚เฉฐ เจ‡เจธ เจตเจฟเฉฑเจš เจฎเจฟเจฒเจพเจ‰เจฃ เจฆเฉ€ เจธเจฟเจซเจพเจฐเจธเจผ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจตเจฟเจ•เจธเจค เจ•เจฐเฉ‹เจ…เจคเฉ‡ เจซเจฟเจฐ เจฎเจฟเจฒเจพเจ“ เจตเจฟเจ•เจธเจค เจ•เจฐเฉ‹ เจฌเจพเจ•เฉ€ เจฌเจšเฉ€ เจธเจผเจพเจ–เจพ เจตเจฟเฉฑเจš, เจฌเจพเจ•เฉ€ เจธเจผเจพเจ–เจพ เจตเจฟเฉฑเจš เจตเจฟเจตเจพเจฆเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉเจฒเจเจพเจ‰เจฃเจพ, เจ…เจคเฉ‡ เจซเจฟเจฐ เจ†เจ–เจฐเฉ€ เจธเจผเจพเจ–เจพ เจจเฉ‚เฉฐ เจ‡เจธ เจตเจฟเฉฑเจš เจฎเจฟเจฒเจพเจ‰เจฃเจพ เจตเจฟเจ•เจธเจค เจ•เจฐเฉ‹. เจ…เจชเจตเจพเจฆ เจนเฉฑเจฒ เจชเฉœเจพเจ… เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ†เจ–เจฐเฉ€ เจธเจผเจพเจ–เจพ เจตเจฟเฉฑเจš เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เจฐเจจเจพ เจชเฉˆ เจธเจ•เจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจœเฉ‹ เจ‡เจน เจ…เฉฐเจคเจฟเจฎ เจกเฉฐเจช เจจเจพเจฒ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเจพ เจนเฉ‹เจตเฉ‡, เจœเจฟเจธ เจตเจฟเฉฑเจš เจตเจฟเจฒเฉ€เจจเจคเจพ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ‡ เจนเจจเฅค

เจ‡เฉฑเจ• เจ‰เจคเจชเจพเจฆเจจ เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจขเฉฐเจ— เจจเจพเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจนเฉˆ

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

เจฒเฉˆ เจกเฉ€เจกเฉ€เจเจฒ PostgreSQL เจตเจฟเฉฑเจš เจนเฉˆ เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ, เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจกเจฟเจชเจฒเจพเจ‡เจฎเฉˆเจ‚เจŸ เจ†เจฐเจกเจฐ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเจจ เจฆเฉ€ เจธเจฟเจซเจพเจฐเจธเจผ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจœเฉ‹, เจ‡เฉฑเจ• เจ…เจšเจพเจจเจ• เจ—เจฒเจคเฉ€ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš, เจคเฉเจธเฉ€เจ‚ "เจฆเจฐเจฆ เจฐเจนเจฟเจค" เจ…เจฎเจฒ เจ•เจฐ เจธเจ•เฉ‹เฅค ROLLBACK:

  1. เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ‹
  2. เจ‡เฉฑเจ• เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ‡ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจ•เจฐเฉ‹
  3. เจ‰เจธเฉ‡ เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจตเจฟเฉฑเจš, เจšเจฒเจพเจ“ deployDump
  4. เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚, เจšเจฒเจพเจ“ verifyDump. เจœเฉ‡ เจ•เฉ‹เจˆ เจ—เจฒเจคเฉ€เจ†เจ‚ เจจเจนเฉ€เจ‚ เจนเจจ, เจคเจพเจ‚ เจšเจฒเจพเจ“ COMMIT. เจœเฉ‡ เจ•เฉ‹เจˆ เจ—เจฒเจคเฉ€เจ†เจ‚ เจนเจจ, เจคเจพเจ‚ เจšเจฒเจพเจ“ ROLLBACK

เจ‡เจนเจจเจพเจ‚ เจ•เจฆเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจœเจผเฉ€เจฐเฉ‹-เจกเจพเจŠเจจเจŸเจพเจˆเจฎ เจธเจฎเฉ‡เจค, เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจกเจฟเจชเจฒเจพเจ‡เจฎเฉˆเจ‚เจŸ เจฒเจˆ เจฎเฉŒเจœเฉ‚เจฆเจพ เจชเจนเฉเฉฐเจšเจพเจ‚ เจตเจฟเฉฑเจš เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจœเฉ‹เฉœเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจธเจฟเฉฑเจŸเจพ

เจ‰เฉฑเจชเจฐ เจฆเฉฑเจธเฉ‡ เจ—เจ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจฒเจˆ เจงเฉฐเจจเจตเจพเจฆ, "PHP + PostgreSQL" เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจจเฉ‚เฉฐ เจจเจฟเจšเฉ‹เฉœเจจเจพ เจธเฉฐเจญเจต เจนเฉˆ, เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจฎเฉเฉฑเจ– เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจธเจพเจฐเฉ‡ เจตเจชเจพเจฐเจ• เจคเจฐเจ• เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจคเฉเจฒเจจเจพ เจตเจฟเฉฑเจš เจฎเฉเจ•เจพเจฌเจฒเจคเจจ เจ˜เฉฑเจŸ เจตเจฟเจ•เจพเจธ เจธเจนเฉ‚เจฒเจค เจฆเฉ€ เจฌเจฒเฉ€ เจฆเจฟเฉฑเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจกเฉ‡เจŸเจพ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจตเจฟเฉฑเจš PL/pgSQL เจ…เจ•เจธเจฐ เจตเจงเฉ‡เจฐเฉ‡ เจชเจพเจฐเจฆเจฐเจธเจผเฉ€ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ PHP เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ€ เจ—เจˆ เจธเจฎเจพเจจ เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจจเจพเจฒเฉ‹เจ‚ เจ˜เฉฑเจŸ เจ•เฉ‹เจก เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค

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

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