
рдУрд░реЗрдХрд▓ рдбреАрдмреАрдП рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВред рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддреАрд╕ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рд╡рд╣ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╡рдЬрди рд╡рд╛рд▓рд╛ рд╣реИ, рдПрдХ рдмрдирд┐рдпрд╛рди рдкрд╣рдирддрд╛ рд╣реИ, рдЙрд╕рдХреА рдЧрд░реНрджрди рдкрд░ рд▓рдЯрдХреЗ рд╣реБрдП рд╕рднреА рдард┐рдХрд╛рдиреЛрдВ рдкрд░ рдПрдХ рдЧреБрдкреНрдд рдкрд╣реБрдВрдЪ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░рд┐рдд рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЗ рдЖрдзреЗ рдкреГрд╖реНрда рдХреЗ рд╕рд╛рд░рд╛рдВрд╢ рдореЗрдВред рд╢рдирд┐рд╡рд╛рд░ред рдмрдбрд╝реА рд░рд┐рд▓реАрдЬрд╝ рдХрд╛ рджрд┐рдиред рдкрд░рд┐рдгрддрд┐ред рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХрд╛ рд╕рдордпред рд╡рд╣ sqlplus рдЯрд╛рдЗрдк рдХрд░рддрд╛ рд╣реИ, ENTER рджрдмрд╛рддрд╛ рд╣реИ, рдФрд░ рдХрд╣реАрдВ-рдХрд╣реАрдВ рдмреНрд▓реИрдХ рд╕реНрдХреНрд░реАрди рдХреЛ рд╢реВрдиреНрдп рдореЗрдВ рджрдмрд╛ рджреЗрддрд╛ рд╣реИ, SQL рдХрдорд╛рдВрдб рд░рд╢ рдХреЗ рдХрд┐рд▓реЛрдореАрдЯрд░ред рдЬреИрд╕реЗ рд╕реНрдЯрд╛рд░ рд╡рд╛рд░реНрд╕ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рдкрд╛рдВрдЪ рдорд┐рдирдЯ рдмрд╛рдж, рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИред рдПрдХ рдШрдВрдЯреЗ рдмрд╛рдж, рд░рд┐рд▓реАрдЬ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдХрд╛рдо рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рджрд┐рди рдПрдХ рд╕рдлрд▓рддрд╛ рдереАред рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдЬреЛрдбрд╝реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рдФрд░ рдмрд╛рдд рд╕реЛрдорд╡рд╛рд░ рдХреА рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдХреБрдЫ рдЖрджреЗрд╢реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдХрд┐, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрд╛рд▓реЗ рд╢реВрдиреНрдпрддрд╛ рдХреЗ рдЕрдкрдиреЗ рдмреЗрд▓рдЧрд╛рдо рдкреАрдЫрд╛ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд░реЛрдХ рдирд╣реАрдВ рдкрд╛рдпрд╛ред рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдиреЗрддреГрддреНрд╡ рд╕реЗ рдХреБрдЫ рджрдмрд╛рд╡ рд╕реЗ рдХреНрдпрд╛ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕реЛрдорд╡рд╛рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛ред
рдмреЗрд╢рдХ, рдпрд╣ рдПрдХ рдХрд╛рд▓реНрдкрдирд┐рдХ рдХрд╣рд╛рдиреА рд╣реИред рдРрд╕рд╛ рдХрднреА рдХрд┐рд╕реА рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд╣реБрдЖред рдХрдо рд╕реЗ рдХрдо, рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рдЕрдЧрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдХрд╛рдо рдкрд▓рд╛рдпрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛрддрд╛ред
рдбреЗрдЯрд╛рдмреЗрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЯреВрд▓ рдХреНрдпрд╛ рд╣реИ?
рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдкреНрд░рдмрдВрдзрди рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдЕрддреНрдпрдВрдд рд╕рд░рд▓ рд╣реИ:
- рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдПрдХ рдЕрд▓рдЧ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рддреНрдпрдХреНрд╖ рдФрд░ рд░рд┐рд╡рд░реНрд╕ рджреЛрдиреЛрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
- рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛ рдЖрд╡реЗрджрди рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкреНрд░рд╡рд╛рд╕рди рдЙрджрд╛рд╣рд░рдг:
рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдПрд╕рдХреНрдпреВрдПрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЖрдпреЛрдЬрди рдкрд░ рдХрдИ рдлрд╛рдпрджреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдорд░реНрдЬ рд╕рдВрдШрд░реНрд╖реЛрдВ рдХреА рдорд╛рддреНрд░ рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИред
рдпрд╣ рд╕рдм рдЕрдзрд┐рдХ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реИ рдХрд┐ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдХреА рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░реВрдмреА рдСрди рд░реЗрд▓реНрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ, рдЬрд┐рд╕рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЯреВрд▓ рдореВрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдореБрдЦреНрдп рдкреНрд░рд╕рд┐рджреНрдзрд┐ рдереА, рдпрд╣ 2005 рдХрд╛ рдЕрдВрдд рдерд╛ред рдереЛрдбрд╝рд╛ рдкрд╣рд▓реЗ, рдорд╛рд░реНрдЯрд┐рди рдлрд╛рдЙрд▓рд░, 2003
рдиреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рд▓рд┐рдЦрд╛ рдерд╛ ред рд╢рд╛рдпрдж, рдпрд╣ рдкреВрд░реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рдХрд╛рд╕ рдЗрд╕ рд╕рджреА рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХреЗрд╡рд▓ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рд╣реБрдЖ рдерд╛ред 2000 рдореЗрдВ рд╡рд╛рдкрд╕,
рдЬреЛрдПрд▓ рд╕реНрдкреЛрд▓реНрд╕реНрдХреА рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдЧреНрд░рд╛рдл
"рдХреНрдпрд╛ рдЖрдк рд╕реНрд░реЛрдд рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?" - рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕ рд╕рдордп рд╕рднреА рдиреЗ рд╡рд░реНрдЬрди рдХрдВрдЯреНрд░реЛрд▓ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рд╣рдо рд╡рд┐рдЪрд▓рд┐рдд рдереЗред
рдорд╛рдИрдмреИрдЯрд┐рд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдЖрда рд╕рд╛рд▓
рд╣рдо
Wrike рдкрд░ 2010 рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдорд╛рд░реНрдЪ 29, рд╕рд╛рдврд╝реЗ рдмрд╛рд░рд╣ рдмрдЬреЗред рддрдм рд╕реЗ, рд╣рдордиреЗ 1,440 рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд▓рд╛рдЧреВ рдХрд┐рдП рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ 6,436 рдкреНрд░рддреНрдпрдХреНрд╖ рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ 5,015 рд░рд┐рд╡рд░реНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдордиреЗ
PostgreSQL рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ
MyBatis рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдЫ рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рд╣реИред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╣рдордиреЗ рдХрднреА рдкрдЫрддрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдпрджрд┐ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдпрд╛ рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рд╣рд╛рдВ,
рдкреЗрдВрдЯрд┐рдпрдо 4 рднреА рдкреБрд░рд╛рдирд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреА рдЦреВрдмрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЙрдмрд╛рдК рд╣реИ, рд╕реАрдзреЗ рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреА рдУрд░ рдЪрд▓рддреЗ рд╣реИрдВред
PostgreSQL рдмрд╛рд░реАрдХрд┐рдпреЛрдВ
рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдХреЛрдИ рдХрдард┐рдирд╛рдИ рдирд╣реАрдВ рд╣реИ, рд╢рд╛рдпрдж, рджреЛ рдХреЛ рдЫреЛрдбрд╝рдХрд░:
- рдЖрдк рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗ,
- рдЖрдк NOT NULL рдХреЙрд▓рдо рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗред
рдирд╣реАрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рдмрд╕ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХреЗ рд╕реЗ рдирд╣реАрдВред рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛
CREATE INDEX CONCURRENTLY рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдЖрдк рдЙрддреНрдкрд╛рджрди рддреЛрдбрд╝ рджреЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ Postgres рдЗрдВрдбреЗрдХреНрд╕ рдирд┐рд░реНрдорд╛рдг рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд▓реЙрдХ рдХрд░ рджреЗрдЧрд╛, рдФрд░ рдпрд╣ рдХрд╛рдлреА рд▓рдВрдмрд╛ рд╕рдордп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдПрдХ рдмрд╛рд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдЗрд╕ рд╕реВрдХреНрд╖реНрдорддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдВ рдХреЛрдИ рдЯреЗрд╕реНрдЯ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдереЛрдбрд╝реА рдЕрд╕реБрд╡рд┐рдзрд╛ рд╣реИред
NULL рдХреЙрд▓рдо рдмрдирд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдпрд╣рд╛рдБ рдЖрдкрдХреЛ рдЪрд╛рд░ рдЪрд░рдгреЛрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- рдПрдХ рдкреВрд░реНрдг рд╕реНрддрдВрдн рдмрдирд╛рдПрдВ (рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬрд╝ рдореЗрдВ рдпрд╣ рдореБрдлрд╝реНрдд рд╣реИ)ред
- рдПрдХ рдорд╛рди рдХреЗ рд▓рд┐рдП DEFAULT рдХреЙрд▓рдо рд╕реЗрдЯ рдХрд░реЗрдВред
- рд▓реВрдк рдореЗрдВ, рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ DEFAULT рдореЗрдВ NULL рдорд╛рди рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред
- рд╕реЗрдЯ рдиреЙрдЯ рдиреЙрдЯред
рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдмрдбрд╝реА рдкрдХрдбрд╝ рддреАрд╕рд░реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рд╣реИред NULL рдорд╛рдиреЛрдВ рдХреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐
UPDATE some_table SET some_column='' WHERE some_column IS NULL
; рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░реЗрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реИ, рдЙрд╕реА рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рдеред рдФрд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗрд╡рд▓ SQL рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдРрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╣рд╛рде рд╕реЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд░реЛрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдФрд╕рдд рд╕реЗ рдиреАрдЪреЗ рдЦреБрд╢реАред рдЕрдм, рдпрджрд┐ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдореЗрдВ рдПрдХ рдЪрдХреНрд░ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рд╢рд╛рдпрдж рдпрд╣
рд╣реБрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдПрдХ
UNIQUE
рд╕реВрдЪрдХрд╛рдВрдХ рдмрдирд╛рдиреЗ рдФрд░ рдПрдХ
PRIMARY KEY
рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХреБрдЫ рдХреМрд╢рд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпреЗ рдСрдкрд░реЗрд╢рди рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рд╣реА рд╣реЛрддреЗ рд╣реИрдВред
рдХреНрд▓рд╕реНрдЯрд░ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ
рдбреЗрдЯрд╛рдмреЗрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдореИрдиреЗрдЬрдореЗрдВрдЯ рдЯреВрд▓ рддрдм рддрдХ рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬрдм рддрдХ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ рдЖрдзрд╛рд░ рд╣реИрдВ, рддреЛ рд╕рднреА рдЕрдзрд┐рдХ рдордЬрд╝реЗрджрд╛рд░ рд╣реИрдВред рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред
рдирддреАрдЬрддрди,
git pull
рдмрд╛рдж
git pull
рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдкрд╣рд▓реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдлрд┐рд░ рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд┐рд░ рджреВрд╕рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ред рдпрд╣рд╛рдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреНрд░рдмрдВрдзрди рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд▓рд┐рдЦрдирд╛ рд╕рд╣реА рд╣реИред рдХреБрд▓ рд╕реНрд╡рдЪрд╛рд▓рдиред
рднреВрдорд┐рдХрд╛ рдмрд╛рдЬреАрдЧрд░реА
рдпрд╣ рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рднреВрдорд┐рдХрд╛рдПрдВ рдПрдХ рдЕрд▓рдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕реНрддрд░ рдкрд░ рдирд╣реАрдВ рд░рд╣рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреВрд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рд╕реНрддрд░ рдкрд░, рдХрдо рд╕реЗ рдХрдо рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдореЗрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдкрдХреЛ
REVOKE INSERT ON some_table FROM some_role
рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ; рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рднреВрдорд┐рдХрд╛рдУрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рдирд╛ рдЕрднреА рднреА рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рджреЗрд╡ рдпрд╛ рдордВрдЪрди рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЙрд╕реА рд╕рдордп, рд╡рд┐рдХрд╛рд╕ рдореЗрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╕рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдХ рд╣реА рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ рдкрд░ рдореМрдЬреВрдж рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдХреЗрд╡рд▓ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдореЗрдВ
CREATE ROLE
рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░
IF NOT EXISTS
рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рд╕рдм рдХреБрдЫ рдмрд╕ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
DO $$ BEGIN IF NOT EXISTS (SELECT * FROM pg_roles WHERE rolname = 'some_role') THEN CREATE ROLE "some_role" NOLOGIN; END IF; END; $$;
рдЗрд╕реЗ рджреЗрдЦреЛ! рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдкрдХрдбрд╝рддрд╛ рд╣реВрдВ рдФрд░ рдЯреЙрд╕ рдХрд░рддрд╛ рд╣реВрдВ, рдкрдХрдбрд╝рддрд╛ рд╣реВрдВ рдФрд░ рдЯреЙрд╕ рдХрд░рддрд╛ рд╣реВрдВ, рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ
рд╡рд┐рдХрд╛рд╕ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХрд╛ рдПрдХ рд╕рд╛
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЧрд▓рддреА рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрд╕рдХреНрдпреВрдПрд▓ рдкрд▓рд╛рдпрди рдореЗрдВ рднреА рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдореАрдХреНрд╖рд╛ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрд╕рд╛рдорд╛рдиреНрдп рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдкреНрд░рддреНрдпрдХреНрд╖ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╣рд╛рдВ рдЬрд╛рдо рдЕрднреА рднреА рдЙрддреНрдкрд╛рджрди рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ - рд╕рддреНрдпрд╛рдкрди рдХреЗ рдХрдИ рдЪрд░рдг рд╣реИрдВред рд▓реЗрдХрд┐рди рдЙрд▓рдЯреЗ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рдШрдЯрдирд╛рдПрдВ рдШрдЯ рд╕рдХрддреА рд╣реИрдВред
./migrate up
рдкреНрд░рд╡рд╛рд╕ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрдм рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рди рдХреЗрд╡рд▓ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ рдмрд╕ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЪрд╛рд▓реАрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╣рдореЗрд╢рд╛ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдЕрдЪреНрдЫреЗ рддрд░реАрдХреЗ рд╕реЗ, рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдбреЗрд╡рд▓рдкрд░ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЙрдореНрдмреЛ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░ рд╕рдХрддреА рд╣реИред
рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ
рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рд╣реИ: рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдк рдПрдХ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдЯреЗрд╕реНрдЯ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд╣рдо
./migrate bootstrap
, рдлрд┐рд░
./migrate up
, рдФрд░ рдЖрдк рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред рдмрд╕ рдЬрдм рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдПрдХ рд╣рдЬрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рджреЗрд░реА рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИ рдЬрдм рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рдВрдмрд╛ рд╣реИред рд╣рдореЗрдВ рдЪрдХрдорд╛ рджреЗрдирд╛ рд╣реИред
рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рд╣рдиреЗ рд╡рд╛рд▓реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде, рдпрд╣ рдЕрднреА рднреА рдХрдард┐рди рд╣реИред рдХреНрдпреВрдП, рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЬрдм рд╡реЗ рдХрд╛рдо рдкрд░ рдЖрддреЗ рд╣реИрдВ рддреЛ рдПрдХ рддреНрд░реБрдЯрд┐рд╣реАрди рд╕реНрд╡рдЪреНрдЫ рдбреЗрдЯрд╛рдмреЗрд╕ рджреЗрдЦрдирд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИ, рд▓реЗрдХрд┐рди рддрдереНрдп рддрдереНрдп рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдард┐рдХрд╛рдиреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдЦрдВрдбрддрд╛ рдореЗрдВ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдпрд╣ рд╣рдореЗрд╢рд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рд╕реВрдХреНрд╖реНрдорддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рдЗрд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдЕрдЧрд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЛрдб рдмрд╛рдж рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдЧреИрд░-рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ, рддреЛ рдХреЛрдб рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред Rassinhronред рдмреЗрд╢рдХ, рдпрд╣ рдПрдХ рдЕрдкрдорд╛рди рд╣реИред рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдкрд╣рд▓рд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрднреА рднреА рд▓рд┐рдЦрд┐рдд рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЛ рдмрджрд▓рдирд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рд╣рдореЗрд╢рд╛ рдирдП рдХреЛ рдмрдирд╛рдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд▓рдбрд╝рдЦрдбрд╝рд╛ рд░рд╣рд╛ рд╣реВрдВ - рдореИрдВ рдпрд╣рд╛рдВ рдереЛрдбрд╝рд╛ рдмрджрд▓ рдЬрд╛рдКрдВрдЧрд╛, рдХреБрдЫ рдирд╣реАрдВ рдЯреВрдЯреЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕рдЪреНрдЪрд╛рдИ рдпрд╣ рд╣реИред рдмреЗрд╢рдХ! рдЖрдЧреЗ рдмрдврд╝реЛ!
рдпрджрд┐ рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рдмрд╛рдж рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рдЧрдП рдереЗ, рддреЛ рдордВрдЪрди рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдлреНрдЯ рдХреЗ рдЖрд╡реЗрджрди рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рдФрд░
changelog
рдореЗрдВ рди рдХреЗрд╡рд▓ рдкреНрд░рд╡рд╛рд╕ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рдмрдЪрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдмрд▓реНрдХрд┐
checksum
рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред
рдЬреИрд╕рд╛ рдерд╛ рд╡реИрд╕рд╛ рд╣реА рд▓реМрдЯрд╛
рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрдкрдЯреА рдореЛрдбрд╝ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдПрдХ рдХрд╛рд░реНрдп рд░рджреНрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдирд╛ рджрд┐рдорд╛рдЧ рдмрджрд▓ рджрд┐рдпрд╛, рдХрд┐рдпрд╛ рдФрд░ рдмрджрд▓ рджрд┐рдпрд╛ред рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рд╣реИред рдПрдХ рдмрд╛рд░ рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░, рд╢рд╛рдЦрд╛ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рд╡рд╣рд╛рдБ рдкреНрд░рд╡рд╛рд╕ рдерд╛ ... рдФрд░ рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдордВрдЪрди рдореЗрдВ рд╣реИ ... рдЖрд╣, ... рдЙрдлрд╝ред рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рднрдВрдбрд╛рд░ рдХрд╛ рдмреИрдХрдЕрдк рдмрд╣рд╛рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╛рдж рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рд╢рд╛рдпрдж рдЖрд╕рд╛рди рдерд╛ред
рдЗрд╕реА рд╕рдордп, рдкреНрд░рд╡рд╛рд╕ рдкрд╛рда рд╣реИред рдФрд░ рдЗрд╕ рдкрд╛рда рдХреЛ рд╡рд╣рд╛рдВ,
changelog
рдореЗрдВ рд╕рд╣реЗрдЬрдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рдлрд┐рд░, рдпрджрд┐ рдХреЛрдб рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрд┐рди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ, рдЗрд╕реЗ рд╣рдореЗрд╢рд╛ рд╡рд╛рдкрд╕ рд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЕрдкрдиреЗ рдЖрдк рднреАред
рдлрд┐рд░ рд╕реЗ рдкреВрд░реНрд╡рд╡рдд рдХрд░реЗрдВ
рдпреВрдПрдирдбреАрдУ рдЕрдиреБрднрд╛рдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХреНрдпреЛрдВ рд▓рд┐рдЦреЗрдВ? рдмреЗрд╢рдХ, рдЖрдХрд░реНрд╖рдХ рдорд╛рдорд▓реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬреНрдпрд╛рджрд╛рддрд░ рдмрджрд▓рд╛рд╡
CREATE TABLE
рдпрд╛
ADD COLUMN
рдпрд╛
CREATE INDEX
ред рдЙрдирдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд░рд┐рд╡рд░реНрд╕ рдСрдкрд░реЗрд╢рди рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреА рд╣реИ, рд╕реАрдзреЗ SQL рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред рдмреЗрд╢рдХ, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рд╣реИред
CREATE TABLE ${name}
- рдпрд╣ рдПрдХ рдРрд╕реА рд╡рд┐рд╢реЗрд╖ рдЯреАрдо рд╣реИ, рдЕрдЪрд╛рдирдХ рдЧреИрд░-рдорд╛рдирдХред рд╣рд╛рдВ, рдФрд░
DROP TABLE ${name}
рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рддреАрд╕рд░реЗ рд╢рдмреНрдж рддрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рддрдХрдиреАрдХреА рдХрд╛рд░реНрдп рд╣реИред рдЖрдЙрдЯ рдСрдл рдж рдмреЙрдХреНрд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдмреЗрд╢рдХ, рдореБрдЭреЗ рджреЛрд╖ рд▓рдЧрддрд╛ рд╣реИред рдорд╛рдИрдмреИрдЯрд┐рд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреА рдХрд▓реНрдкрдирд╛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдФрд░ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХреА рдЧрдИ рдереА, рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдЬреБрдбрд╝реА рд╣реБрдИ рдереАред рдФрд░ рд╡рд╣ рдЦреБрдж рдХреЛ рд╕рд╣реА рдард╣рд░рд╛рдиреЗ рд╕реЗ рдХрд╣реАрдВ рдЬреНрдпрд╛рджрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЫреЛрдЯреЗ рд╕реБрдзрд╛рд░ рдЗрд╕реЗ рдмреЗрд╣рддрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд▓рдВрдмреА рджреВрд░реА рдкрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
-
рджрд┐рдорд┐рддреНрд░реА рдорд╛рдореЛрдиреЛрд╡ / рд╡реНрд░реАрдХреЗ