рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓ рдбреАрдмреАрдПрдордПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреАрдПрдЪрдкреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдХреАрдорд╛-рдХреАрдкрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореБрджреНрджреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
- рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдПрдХ рдбрдВрдк рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рд░реВрдк рдореЗрдВ (рдмрд╛рдж рдореЗрдВ - рд╡реАрд╕реАрдПрд╕)
- рдбрдВрдк рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреИрд╕реЗ рдЯреНрд░реИрдХ рдХрд░реЗрдВ
- рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЕрдиреНрдп рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдореЗрдВ рдмрд┐рдирд╛ рд╕рдВрдШрд░реНрд╖реЛрдВ рдФрд░ рд╡рд┐рд╢рд╛рд▓ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдХреИрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП
- рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рдо рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП
- рдХреИрд╕реЗ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдЗрд╕ рд▓реЗрдЦ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЙрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреА, рдЬреЛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрдпреВрдПрд▓ рдХреА рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВред
рд▓реЗрдЦ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рдлрд╛рдпрджреЗ рдпрд╛ рдиреБрдХрд╕рд╛рди рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдардХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╕рдВрдж рдХрд░ рдЪреБрдХрд╛ рд╣реИред
рд╕реНрдХреАрдордХреАрдкрд░ рдХреЛ рдкреАрдПрд▓ / рдкреАрдЬреАрдХреНрдпреВрд╕реА рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╕рдВрдЧреНрд░рд╣реАрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдЙрддрдирд╛ рдкреНрд░рднрд╛рд╡реА рдпрд╛ рдЕрд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╡реАрд╕реАрдПрд╕ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдПрдХ рдбрдВрдк рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рд░реВрдк рдореЗрдВ
рд╕реНрдХреАрдорд╛-рдХреАрдкрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА saveDump рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ, рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд╛рда рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрддреА рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдпреБрдХреНрдд рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕рдореВрд╣реАрдХреГрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ VCS рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА - рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╢рд╛рдмреНрджрд┐рдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд╛рд░реНрдпрд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдкреВрд░реА рдкрд░рд┐рднрд╛рд╖рд╛ рд╣реЛрдЧреА, рдЬреЛ рдХрд┐ CREATE OR REPLACE FUNCTION
рдмреНрд▓реЙрдХ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдлрд╝рд╛рдЗрд▓ рдкрде рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдкреНрд░рдХрд╛рд░, рдпреЛрдЬрдирд╛ рдФрд░ рдирд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбрдВрдк рдФрд░ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред
рд╕рдВрдЧреНрд░рд╣реАрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП .sql
рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ IDE рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрд▓рддреЗ рд╕рдордп рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░реЗред
рдбрдВрдк рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреИрд╕реЗ рдЯреНрд░реИрдХ рдХрд░реЗрдВ
рд╡реАрд╕реАрдПрд╕ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдПрдХ рдбрдВрдк рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдбрдВрдк рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рдЧрдП рдереЗред рд╕реНрдХреАрдорд╛-рдХреАрдкрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ VerDump рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рджреБрд╖реНрдкреНрд░рднрд╛рд╡реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдорддрднреЗрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреЗрддрд╛ рд╣реИред
рдЪреЗрдХрд┐рдВрдЧ рдХрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХрд╛ рд╣реИ, saveDump
рдлрд╝рдВрдХреНрд╢рди рдХреЛ saveDump
рд╕реЗ рдХреЙрд▓ рдХрд░рдирд╛, рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдФрд░ рд╡реАрд╕реАрдПрд╕ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рдХрд░рдирд╛ред рдЪреВрдВрдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП VCS рдХреЗрд╡рд▓ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рджрд┐рдЦрд╛рдПрдЧрд╛ред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдореБрдЦреНрдп рдиреБрдХрд╕рд╛рди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЕрдиреНрдп рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдореЗрдВ рдмрд┐рдирд╛ рд╕рдВрдШрд░реНрд╖реЛрдВ рдФрд░ рд╡рд┐рд╢рд╛рд▓ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдХреИрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП
рддреИрдирд╛рддрдбрдВрдк рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж , рд╕рдВрдЧреНрд░рд╣рд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдмрд╛рдХреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рддрд░рд╣ рд╣реА рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд╛рд░реНрдпрд╡рд┐рдзрд┐ рдХрд╛ рд╕рдВрд╢реЛрдзрди рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдХреЗ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, public
рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рдирдИ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд╛рд░реНрдпрд╡рд┐рдзрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, public/functions
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ .sql
рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЗрд╕рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд╛рд░реНрдпрд╡рд┐рдзрд┐ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ CREATE OR REPLACE FUNCTION
deployDump
рдмреНрд▓реЙрдХ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ, рдлрд┐рд░ deployDump
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВред рдЗрд╕реА рддрд░рд╣, рдПрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдФрд░ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХреЛрдб рдПрдХ рд╕рд╛рде VCS рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рджреЛрдиреЛрдВ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд╛рд░реНрдпрд╡рд┐рдзрд┐ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рддреЛ рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХрдиреЗ рдкрд░, deployDump
рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдбрдВрдк рдФрд░ рд╡рд░реНрддрдорд╛рди рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмреАрдЪ рд╕рдВрдЧреНрд░рд╣реАрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдмреЗрдореЗрд▓ рдЙрдкрдпреЛрдЧ deployDump
рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред
рдПрдХ рдирдИ рд╕рдВрдЧреНрд░рд╣реАрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рддреЗ рд╕рдордп, рд╕рд╣реА рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди .sql
ред рд╕рд╣реА рдирд╛рдо рдХреЛ deployDump
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░рд┐рдЯрд░реНрди рдорд╛рди рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
deployDump
рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╣реЛрддрд╛ рд╣реИ рдпрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╡рд╛рдкрд╕реА рдкреНрд░рдХрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╢рд╛рд╕реНрддреНрд░реАрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ DROP FUNCTION
рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА CREATE OR REPLACE FUNCTION
ред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХреБрдЫ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, deployDump
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдПрдХ рдЯреНрд░рд┐рдЧрд░ рдлрд╝рдВрдХреНрд╢рди рдЬрд┐рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЯреНрд░рд┐рдЧрд░ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рд╕реНрдХреАрдорд╛-рдХреАрдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рддреЛ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдЕрдиреНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд┐рджреНрдзрд╛рдВрдд / рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЙрдкрдпреБрдХреНрдд рд╣реИред
рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП deployDump
рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдкрд▓рд╛рдпрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рдо рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП
рдЪрд▓реЛ рдкреВрд░реНрдг рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╡реАрд╕реАрдПрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдбрдВрдк рдХреЗ рдЕрдиреБрд░реВрдк рд╕реНрдерд╛рдиреАрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕рдВрд░рдЪрдирд╛ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рдорд╢реАрдиреЛрдВ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рд╣рдо рд╕реНрдерд╛рдиреАрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ 3 рдЪрд░рдгреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
- рдПрдХ рдореВрд▓ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЖрдпрд╛рдд рдХрд░реЗрдВ, рдЬрд┐рд╕реЗ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
base.sql
- рдкрд▓рд╛рдпрди рдХрд╛ рдЖрд╡реЗрджрди
deployDump
рдХреЙрд▓
base.sql
рд╡рд╣ рдЖрд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ deployDump
рдХреЛ deployDump
рдЬрд╛рддрд╛ рд╣реИ, base.sql + + deployDump =
ред рдЖрдзрд╛рд░ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ base.sql
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЦрд░реЛрдВрдЪ рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╕рдордпред рдРрд╕реА рдлрд╛рдЗрд▓ pg_dump рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдИ рдЧрдИ рд╣реИ ред
рд╣рдо рдкреВрд░реНрдг рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди refresh.sh
рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред рдбреЗрд╡рд▓рдкрд░ рдХрд╛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
- рд╡рд░реНрддрдорд╛рди рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рддрд╛рдЬрд╝рд╛ рдХрд░реЗрдВ
- рдХрд╛рд░реНрдп рдкрд░ рдХрд╛рд░реНрдп рдХреА рд╢реБрд░реБрдЖрдд, рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рд╕рдВрд╢реЛрдзрди (
ALTER TABLE ... ADD COLUMN
, рдЖрджрд┐) - рдХрд╛рд░реНрдп рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, VCS рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
saveDump
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ refresh.sh
рддрдм рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП verifyDump
рдХрд░реЗрдВ- рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЯреНрд░рд╛рдВрд╕реНрдлрд╝реЙрд░реНрдореЗрд╢рди рдкрд░рд┐рд╡рд░реНрддрди,
refresh.sh
рдФрд░ verifyDump
рд╕реЗ verifyDump
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ gitflow
рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИред рд╡реАрд╕реАрдПрд╕ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рдЦрд╛ рдореЗрдВ рдбрдВрдк рдХрд╛ рдЕрдкрдирд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЬрдм рд╢рд╛рдЦрд╛рдПрдВ рдорд░реНрдЬ рд╣реЛрддреА рд╣реИрдВ, рддреЛ рдбрдВрдк рдорд░реНрдЬ рд╣реЛрддреЗ рд╣реИрдВред рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рд╡рд┐рд▓рдп рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рд╢рд╛рдЦрд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рдЧрдП рдереЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрд╕реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ, рдПрдХ рд╕рдВрдШрд░реНрд╖ рд╕рдВрднрд╡ рд╣реИред
рдПрдХ рд╡рд┐рдХрд╕рд┐рдд рд╢рд╛рдЦрд╛ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕рдВрдШрд░реНрд╖ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд╢рд╛рдЦрд╛ 1 рдФрд░ рд╢рд╛рдЦрд╛ 2 рд╢рд╛рдЦрд┐рдд рд╣реИрдВ , рдЬреЛ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдХрд░рддреЗ рд╣реИрдВред рдХрд╛рд░реНрдп рд╢рд╛рдЦрд╛ 1 рдФрд░ рд╢рд╛рдЦрд╛ 2 рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд▓рдп рдХрд░рдирд╛ рд╣реИред рдРрд╕реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рдмреНрд░рд╛рдВрдЪ 1 рдХреЛ рдорд░реНрдЬ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдмреНрд░рд╛рдВрдЪ 2 рдореЗрдВ рдорд░реНрдЬ рдХрд░реЗрдВ, рдмреНрд░рд╛рдВрдЪ 2 рдореЗрдВ рдЯрдХрд░рд╛рд╡реЛрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдмреНрд░рд╛рдВрдЪ 2 рдХреЛ рдорд░реНрдЬ рдХрд░реЗрдВред рд╕рдВрдШрд░реНрд╖ рд╕рдорд╛рдзрд╛рди рдХреЗ рдЪрд░рдг рдореЗрдВ, рдЖрдкрдХреЛ рдмреНрд░рд╛рдВрдЪ 2 рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдпрд╣ рдЕрдВрддрд┐рдо рдбрдВрдк рд╕реЗ рдореЗрд▓ рдЦрд╛рдП, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рд▓рдп рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдХреИрд╕реЗ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рд╡рд░реНрддрдорд╛рди рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЗ VCS рдбрдВрдк рдореЗрдВ рдЙрдкрд╕реНрдерд┐рддрд┐ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рд╕рдЯреАрдХ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрд╛рджрди рдЖрдзрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рдЙрддреНрдкрд╛рджрди рдЖрдзрд╛рд░ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдП рдЧрдП рдереЗред
рдЪреВрдВрдХрд┐ PostgreSQL рдореЗрдВ DDL рдЯреНрд░рд╛рдВрдЬреЗрдХреНрд╢рдирд▓ рд╣реИ , рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЖрдк рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреНрд░рдо рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рддреНрд░реБрдЯрд┐ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, ROLLBACK
"рдкреАрдбрд╝рд╛рд░рд╣рд┐рдд" рд╣реЛ:
- рд▓реЗрди-рджреЗрди рд╢реБрд░реВ рдХрд░реЗрдВ
- рд▓реЗрди-рджреЗрди рдореЗрдВ рд╕рднреА рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
- рдПрдХ рд╣реА рд▓реЗрдирджреЗрди рдореЗрдВ,
deployDump
рдирд┐рд╖реНрдкрд╛рджрд┐рдд deployDump
- рд▓реЗрди-рджреЗрди рдкреВрд░рд╛ рдХрд┐рдП рдмрд┐рдирд╛,
verifyDump
ред рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ COMMIT
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рдпрджрд┐ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рд╣реИрдВ, рддреЛ ROLLBACK
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
рдпреЗ рдЪрд░рдг рд╢реВрдиреНрдп-рдбрд╛рдЙрдирдЯрд╛рдЗрдо рд╕рд╣рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рддрд░реАрдХреЛрдВ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИрдВред
рдирд┐рд╖реНрдХрд░реНрд╖
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рдореБрдЦреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдореЗрдВ рд╕рднреА рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рддреНрдпрд╛рдЧ рдХрд░рддреЗ рд╣реБрдП, "PHP + PostgreSQL" рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ рдЕрдзрд┐рдХрддрдо рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдирд┐рдЪреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, PL / pgSQL рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЕрдХреНрд╕рд░ рдЕрдзрд┐рдХ рдкрд╛рд░рджрд░реНрд╢реА рджрд┐рдЦрддреА рд╣реИ рдФрд░ PHP рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реЗ рдХрдо рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред