SchemaKeeper āĻ¸āĻ™ā§āĻ—ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻŦā§āĻ¯āĻŦāĻ¸āĻž āĻ¯ā§āĻ•ā§āĻ¤āĻŋ

āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋāĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¸ā§āĻ•āĻŋāĻŽāĻž-āĻ°āĻ•ā§āĻˇāĻ• āĻāĻŽāĻ¨ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻžāĻ¨ āĻ¯āĻž āĻĒā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ°ā§‡āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒāĻŋāĻāĻ‡āĻšāĻĒāĻŋ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋāĻ•ā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ¸āĻšāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯, āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§‹āĻ—ā§€ āĻšāĻŦā§‡ āĻ¯āĻžāĻ°āĻž PostgreSQL āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ° āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ°āĻžāĻ–āĻž āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ• āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽā§āĻŽā§āĻ–ā§€āĻ¨ āĻšāĻ¨āĨ¤

āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ• āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻŦāĻž āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ—ā§āĻ˛āĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻŦā§‡ āĻ¨āĻžāĨ¤ āĻ§āĻžāĻ°āĻŖāĻž āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻĒāĻžāĻ āĻ• āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°ā§‡ āĻĢā§‡āĻ˛ā§‡āĻ›ā§‡āĻ¨āĨ¤

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒā§āĻ°āĻļā§āĻ¨ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡:

  1. āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° āĻĄāĻžāĻŽā§āĻĒ āĻ•ā§‹āĻ¨ āĻĢāĻ°ā§āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ (āĻāĻ° āĻĒāĻ°ā§‡ VCS āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡)
  2. āĻĄāĻžāĻŽā§āĻĒ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻŦā§‡āĻ¨
  3. āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦ āĻāĻŦāĻ‚ āĻĻā§ˆāĻ¤ā§āĻ¯ āĻŽāĻžāĻ‡āĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ
  4. āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻ•āĻžāĻœā§‡āĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ
  5. āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰ā§ŽāĻĒāĻžāĻĻāĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻ†āĻ°ā§‹ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ

    āĻ¸ā§āĻ•āĻŋāĻŽāĻ•āĻŋāĻĒāĻžāĻ° āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ āĻ˛ā§‡āĻ–āĻž āĻ¸āĻžā§āĻšāĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ PL/pgSQL. āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ­āĻžāĻˇāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻ¤āĻžāĻ‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¤āĻ¤āĻŸāĻž āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ¨āĻžāĻ“ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻŦāĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ¨āĻžāĻ“ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ­āĻŋāĻ¸āĻŋāĻāĻ¸-āĻ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° āĻĄāĻžāĻŽā§āĻĒ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ¸ā§āĻ•āĻŋāĻŽāĻž-āĻ°āĻ•ā§āĻˇāĻ• āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ saveDump, āĻ¯āĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻĒā§ƒāĻĨāĻ• āĻĒāĻžāĻ ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ—āĻ āĻ¨ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° āĻ§āĻžāĻ°āĻŖāĻ•āĻžāĻ°ā§€ āĻĄāĻžāĻ‡āĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ, āĻ—ā§āĻ°ā§āĻĒ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ āĻ¯āĻž āĻ¸āĻšāĻœā§‡āĻ‡ VCS āĻ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻšāĻ˛ā§āĻ¨ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ•ā§‡ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻžāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¨āĻœāĻ° āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•:

āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ§āĻ°āĻ¨
āĻāĻ‡ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ
āĻ¨āĻžāĻŽ
āĻĢāĻžāĻ‡āĻ˛ āĻ†āĻĒā§‡āĻ•ā§āĻˇāĻŋāĻ• āĻĒāĻĨ

āĻŸā§‡āĻŦāĻŋāĻ˛
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯
āĻšāĻŋāĻ¸āĻžāĻŦ
./public/tables/accounts.txt

āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻ¨ā§€āĻ¤āĻŋāĻŽāĻžāĻ˛āĻž
āĻĒā§āĻ°āĻ•āĻžāĻļā§āĻ¯
auth(āĻšā§āĻ¯āĻžāĻļ āĻŦāĻŋāĻœāĻŋāĻ¨ā§āĻŸ)
./public/functions/auth(int8).sql

āĻ§āĻžāĻ°āĻŖāĻž
āĻŦā§āĻ•
āĻļā§āĻ˛ā§āĻ•
./booking/views/tariffs.txt

āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ ā§āĻ¯ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¸āĻžā§āĻšāĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻšāĻŦā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻ‚āĻœā§āĻžāĻž, āĻŦā§āĻ˛āĻ• āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡ CREATE OR REPLACE FUNCTION.

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻŸā§‡āĻŦāĻŋāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻ¯āĻŧ, āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻĒāĻžāĻĨ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ§āĻ°āĻ¨, āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻāĻŦāĻ‚ āĻ¨āĻžāĻŽ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻĄāĻžāĻŽā§āĻĒ āĻāĻŦāĻ‚ āĻ•ā§‹āĻĄ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¨ā§‡āĻ­āĻŋāĻ—ā§‡āĻŸ āĻ•āĻ°āĻž āĻ¸āĻšāĻœ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡āĨ¤

āĻĒā§āĻ°āĻ¸āĻžāĻ° .sql āĻ¸āĻžā§āĻšāĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻ¸āĻš āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¯āĻžāĻ¤ā§‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ–ā§‹āĻ˛āĻž āĻšāĻ˛ā§‡ IDE āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°ā§‡āĨ¤

āĻĄāĻžāĻŽā§āĻĒ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻŦā§‡āĻ¨

āĻ­āĻŋāĻ¸āĻŋāĻāĻ¸-āĻ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŽā§āĻĒ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻĄāĻžāĻŽā§āĻĒ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻ¸ā§āĻ¯ā§‹āĻ— āĻĒāĻžāĻ‡āĨ¤ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ¤ā§‡ āĻ¸ā§āĻ•āĻŋāĻŽāĻž-āĻ°āĻ•ā§āĻˇāĻ• āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ—āĻ āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡, āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ 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. āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ¤ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ¯ā§āĻ•ā§āĻ¤ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ¯āĻžāĻ¤ā§‡ āĻ¸āĻžā§āĻšāĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻŽāĻžāĻ‡āĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ†āĻ°āĻ“ āĻŦāĻŋāĻļāĻĻā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻ•āĻžāĻœā§‡āĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ

āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸ā§‚āĻšāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻ¯āĻž āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻ¤āĻžāĻ° āĻ•āĻžāĻœā§‡āĻ° āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻŦā§‡, āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ•ā§‡ āĻ­āĻŋāĻ¸āĻŋāĻāĻ¸-āĻ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻĄāĻžāĻŽā§āĻĒā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ™ā§āĻ—āĻ¤āĻŋāĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻšāĻœ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻĒā§āĻ°āĻžāĻ°āĻŽā§āĻ­āĻŋāĻ•āĻ¤āĻžāĻ•ā§‡ 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. āĻ•āĻžāĻœāĻŸāĻŋ āĻļā§‡āĻˇ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ•āĻ˛ āĻ•āĻ°ā§‡ saveDumpāĻ­āĻŋāĻ¸āĻŋāĻāĻ¸-āĻ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ•āĻ°āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ•āĻŽāĻŋāĻŸ āĻ•āĻ°āĻ¤ā§‡
  4. āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛āĻžā§āĻš āĻ•āĻ°ā§āĻ¨ refresh.shāĻ¤āĻžāĻ°āĻĒāĻ°, verifyDumpāĻ¯āĻž āĻāĻ–āĻ¨ āĻŽāĻžāĻ‡āĻ—ā§āĻ°ā§‡āĻļāĻ¨ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ
  5. āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻŽāĻžāĻ‡āĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°ā§‡, āĻ†āĻŦāĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¯āĻŧ refresh.sh и verifyDump, āĻāĻŦāĻ‚, āĻ¯āĻĻāĻŋ āĻŽāĻžāĻ‡āĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻ•āĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ, verifyDump āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻĄāĻžāĻŽā§āĻĒā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻĻā§‡āĻ–āĻžāĻŦā§‡ āĻ¨āĻž

āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻ—āĻŋāĻŸāĻĢā§āĻ˛ā§‹ āĻ¨ā§€āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖāĨ¤ VCS-āĻāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻĄāĻžāĻŽā§āĻĒā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĨāĻžāĻ•āĻŦā§‡ āĻāĻŦāĻ‚ āĻļāĻžāĻ–āĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻĄāĻžāĻŽā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻŦā§‡ā§ˇ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻ¤āĻŦā§‡ āĻ¯āĻĻāĻŋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻ‡ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡, āĻāĻ•āĻŸāĻŋ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦ āĻĻā§‡āĻ–āĻž āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ†āĻ¸ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ•: āĻāĻ•āĻŸāĻŋ āĻļāĻžāĻ–āĻž āĻ†āĻ›ā§‡ āĻŦāĻŋāĻ•āĻžāĻļ, āĻ¯āĻž āĻĨā§‡āĻ•ā§‡ āĻĻā§āĻŸāĻŋ āĻļāĻžāĻ–āĻž āĻļāĻžāĻ–āĻž: āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ 1 и āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ 2āĻ¯āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•ā§‹āĻ¨ āĻŦāĻŋāĻ°ā§‹āĻ§ āĻ¨ā§‡āĻ‡ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦ āĻ†āĻ›ā§‡āĨ¤ āĻ•āĻžāĻœāĻŸāĻŋ āĻšāĻ˛ āĻ‰āĻ­āĻ¯āĻŧ āĻļāĻžāĻ–āĻžāĻ•ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻŦāĻŋāĻ•āĻžāĻļ. āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻļāĻžāĻ–āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻŦāĻŋāĻ•āĻžāĻļāĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ•āĻ¤ā§āĻ°ā§€āĻ•āĻ°āĻŖ āĻŦāĻŋāĻ•āĻžāĻļ āĻ…āĻŦāĻļāĻŋāĻˇā§āĻŸ āĻļāĻžāĻ–āĻžāĻ¯āĻŧ, āĻ…āĻŦāĻļāĻŋāĻˇā§āĻŸ āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦ āĻŽā§€āĻŽāĻžāĻ‚āĻ¸āĻž āĻ•āĻ°ā§‡, āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻļā§‡āĻˇ āĻļāĻžāĻ–āĻžāĻ•ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻŦāĻŋāĻ•āĻžāĻļ. āĻŦāĻŋāĻ°ā§‹āĻ§ āĻ¨āĻŋāĻˇā§āĻĒāĻ¤ā§āĻ¤āĻŋāĻ° āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻļā§‡āĻˇ āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ āĻŋāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻāĻŸāĻŋ āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻĄāĻžāĻŽā§āĻĒā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻ˛ā§‡, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤āĻ•āĻ°āĻŖā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡āĨ¤

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰ā§ŽāĻĒāĻžāĻĻāĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻ†āĻ°ā§‹ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ

āĻ­āĻŋāĻ¸āĻŋāĻāĻ¸-āĻ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻĄāĻžāĻŽā§āĻĒā§‡āĻ° āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ, āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ āĻŋāĻ• āĻ¸āĻŽā§āĻŽāĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšā§‡āĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ā§‡āĻ¨ āĻ¤āĻž āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻŦā§‡āĻ¸ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ DDL PostgreSQL āĻ āĻ†āĻ›ā§‡ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ¸āĻ‚āĻ•ā§āĻ°āĻžāĻ¨ā§āĻ¤, āĻāĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ†āĻĻā§‡āĻļ āĻŽā§‡āĻ¨ā§‡ āĻšāĻ˛āĻžāĻ° āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻžāĻ¤ā§‡, āĻāĻ•āĻŸāĻŋ āĻ…āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ "āĻŦā§āĻ¯āĻĨāĻžāĻšā§€āĻ¨āĻ­āĻžāĻŦā§‡" āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ ROLLBACK:

  1. āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻļā§āĻ°ā§ āĻ•āĻ°ā§āĻ¨
  2. āĻāĻ•āĻŸāĻŋ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻžāĻ‡āĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§āĻ¨ā§ˇ
  3. āĻāĻ•āĻ‡ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡, āĻšāĻžāĻ˛āĻžāĻ¨ deployDump
  4. āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻž āĻ•āĻ°ā§‡āĻ‡ āĻšāĻžāĻ˛āĻžāĻ¨ verifyDump. āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡, āĻšāĻžāĻ˛āĻžāĻ¨ COMMIT. āĻ¯āĻĻāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻĨāĻžāĻ•ā§‡, āĻšāĻžāĻ˛āĻžāĻ¨ ROLLBACK

āĻāĻ‡ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĻ—ā§āĻ˛āĻŋ āĻ¸āĻšāĻœā§‡āĻ‡ āĻļā§‚āĻ¨ā§āĻ¯-āĻĄāĻžāĻ‰āĻ¨āĻŸāĻžāĻ‡āĻŽ āĻ¸āĻš āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°

āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ, āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ•ā§‹āĻĄā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ• āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻŦāĻ˛āĻŋāĻĻāĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, "PHP + PostgreSQL" āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ•āĻŽāĻžāĻ¨ā§‹ āĻ¸āĻŽā§āĻ­āĻŦāĨ¤ āĻ¤āĻžāĻ›āĻžāĻĄāĻŧāĻž āĻĄāĻžāĻŸāĻž āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻŋāĻ‚ āĻ‡āĻ¨ PL/pgSQL āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻ†āĻ°āĻ“ āĻ¸ā§āĻŦāĻšā§āĻ› āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĒāĻŋāĻāĻ‡āĻšāĻĒāĻŋ-āĻ¤ā§‡ āĻ˛ā§‡āĻ–āĻž āĻāĻ•āĻ‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ•āĻŽ āĻ•ā§‹āĻĄā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧāĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨