MySQL + Git рд╕рдВрд░рдЪрдирд╛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдФрд░ рдЗрддрд┐рд╣рд╛рд╕ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧрд┐рдЯред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдореЗрд░реЗ рдкрд╛рд╕ MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╡рд╛рд▓ рдерд╛, рддреЛ рдореБрдЭреЗ рдХреЛрдИ рд╕рдВрддреЛрд╖рдЬрдирдХ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛ред

рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдХрдИ рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдФрд░ рдУрдЖрд░рдПрдо рдореЗрдВ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЖрд╡рд╢реНрдпрдХ рддрдВрддреНрд░ рд╣реИрдВ - рдорд╛рдЗрдЧреНрд░реЗрд╢рди, рд╕рдВрд╕реНрдХрд░рдг, рдЖрджрд┐ред рд▓реЗрдХрд┐рди MySQL рдХреЗ рд╕рд╛рде рдореВрд▓ рдХрд╛рдо рдХреЗ рд▓рд┐рдП - рдЖрдкрдХреЛ рдкреЗрди рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдЯреНрд░реИрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд╛рд░ рдЖрдпрд╛ред



рдХрд╛рд░реНрдп



рдореИрдВ рд╡рд┐рдХрд╛рд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдЧрд┐рдЯ рдореЗрдВ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рднреА рджреЗрдЦрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЛрдб рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдФрд░ рддрд╛рдХрд┐ рд╕рдм рдХреБрдЫ рд╕реНрд╡рддрдВрддреНрд░ рдФрд░ рдЖрд╕рд╛рди рд╣реЛ!

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рд╕реГрдЬрди, рдкрд░рд┐рд╡рд░реНрддрди, рдбреНрд░реЙрдк)ред



рдирд┐рд░реНрдгрдп рд╢реБрд░реВ



MySQL рд▓реЙрдЧреНрд╕ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ 3 рддрд░реАрдХреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ - рдпреЗ рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ (рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ), рд╕рднреА рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓реЙрдЧ (рд╕рд╛рдорд╛рдиреНрдп рд▓реЙрдЧ) рдФрд░ рдзреАрдореА рдХреНрд╡реЗрд░реА рд▓реЙрдЧ (рдзреАрдореА рд▓реЙрдЧ) рд╣реИрдВред

рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдЪрд╛рд░ (рдиреАрдЪреЗ рд╡рд┐рд╡рд░рдг) рд╣реИрдВред рдЕрдм рдЕрдиреНрдп рджреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред

рд▓реЙрдЧ рдпрд╛ рддреЛ mysql рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдпрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдмрд▓реНрдХрд┐ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рд╣реИред



рдзреНрдпрд╛рди рджреЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕рднреА mysql рд▓реЙрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ MySQL рд▓реЛрдб рдХреЗ рдмрд┐рдирд╛ рдПрдХ рджреЗрд╡ рд╕рд░реНрд╡рд░ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП!



рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рдЙрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреНрд╡реЗрд░реА рдХреЛ рднреЗрдЬрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдХреНрд╡реЗрд░реА рдХреЗ SQL рдкрд╛рда рдореЗрдВ рд╣реА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред

CREATE TABLE /*DB_NAME.*/TABLE_NAME
      
      





рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд▓реЙрдЧ рдХреЗрд╡рд▓ рд╕рд░реНрд╡рд░ рдереНрд░реЗрдб рдирдВрдмрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рдереНрд░реЗрдб рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рд░рд┐рдХреЙрд░реНрдб рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓реЙрдЧ рдореЗрдВ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдФрд░ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред



рдорд╛рдпрд┐рдХрдХреНрд▓.рдЧреЗрдВрдирд▓_рд▓реЙрдЧ рд╕реНрдЯреНрд░рдХреНрдЪрд░





рд▓реЗрдХрд┐рди slow_log рдореЗрдВ рд╡рд╣ рд╕рдм рдХреБрдЫ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП: рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд▓реЙрдЧ рдореЗрдВ рдХреЗрд╡рд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдирд╛рдо рдЬрд┐рд╕рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЕрдиреБрд░реЛрдз рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрд╕реЗ рдпрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдорд╛рдпрд┐рдХрдХреНрд▓реЛ.рд╕рд╛рд▓_рд▓реЙрдЧ рд╕рдВрд░рдЪрдирд╛





рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзреАрдореА рд▓реЙрдЧ рдХреЛ рд╕реЗрдЯ рдХрд░рдирд╛ my.cnf рдореЗрдВ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ

log-output=TABLE





slow_query_log = 1





long_query_time = 0





log_slow_admin_statements = 1







log_slow_admin_statements рдХреЛ ALTER рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд▓реЙрдЧ рдХрд░реЗрдВ



рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рд╕рднреА рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рд▓реЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЙрдирд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмрджрд▓рдиреЗ рдФрд░ рдмрд╛рдХреА рд╕рднреА рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред



Mysql.slow_log рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХреЛрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдлрд╝реАрд▓реНрдб рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд▓реЙрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ (рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ)ред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВрдЧреЗ рдЬреЛ рд╣рдорд╛рд░реЗ рдЕрдиреБрд░реВрдк рд╣реЛрдЧреАред



рд╕рдВрд░рдЪрдирд╛ change_structure_log





рд▓реЙрдЧ рд░реЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреА рд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛:

 USE mysql; DELIMITER $$ CREATE PROCEDURE `change_structure_log_rotate`() BEGIN -- Definition start drop table if exists slow_log_copy; CREATE TABLE slow_log_copy LIKE slow_log; RENAME TABLE slow_log TO slow_log_old, slow_log_copy TO slow_log; insert into change_structure_log (start_time,query_time,sql_text, db) select start_time, query_time, sql_text,db from slow_log_old where sql_text like "ALTER%" OR sql_text like "CREATE%" OR sql_text like "DROP%"; drop table slow_log_old; -- Definition end END $$
      
      







рдФрд░ рдЗрд╕реЗ MySQL рдЕрдиреБрд╕реВрдЪрдХ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 CREATE EVENT `event_archive_mailqueue` ON SCHEDULE EVERY 5 MINUTE STARTS CURRENT_TIMESTAMP ON COMPLETION NOT PRESERVE ENABLE COMMENT '' DO call change_structure_log_rotate();
      
      







рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреБрдирд░реНрдЧрдарди рдХреЗ рд▓рд┐рдП рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реИред рдЕрдм рд╣рдо рдЗрд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреЗрдВрдЧреЗред рдореИрдВ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ (рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ PHP рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХреЛрдб рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдХрд╛рд░рдг, рдпрд╣ рдХреЛрдб рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ)ред



рддреЛ:

1. рд╣рдо change_structure_log рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рднреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реВрдк рдХрд░рддреЗ рд╣реИрдВред

2. sql_text рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдирд╛рдо рдмрд╛рд╣рд░ рдЦреАрдВрдЪрддреЗ рд╣реИрдВ, рдпрджрд┐ рдХреЛрдИ рд╣реЛ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

^ALTER\s+TABLE\s+(?:(?:ONLINE|OFFLINE)\s+)?(?:(?:IGNORE)\s+)?(?:([^\s\.]+)\.\s*)?([^\s\.]+)





3. рдпрджрд┐ рдЕрдиреБрд░реЛрдз db рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - db рдлрд╝реАрд▓реНрдб рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

4. рд╣рдо рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рднреА рд░рд┐рдХреЙрд░реНрдб Git рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 2014050815050.sql.logред рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдо $ DB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ;

5. рд╕рднреА рд╕рдВрд╕рд╛рдзрд┐рдд рд░рд┐рдХреЙрд░реНрдб рд╣рдЯрд╛рдПрдВред



рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рдирдИ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рдЕрдм рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ Git рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдореЛрдб рдореЗрдВ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред



рдЕрдЧрд▓рд╛, рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рдкрд░, рд╣рдо рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдирдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ mysql рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреЛрдб рдХреЗ рд╕рд╛рде рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рдкрд░ рдЧрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рджреЗрд╡ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВред



Updред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ ( DsideSPb рдХреЗ рд╕рдВрдХреЗрдд рдкрд░), рдЖрдк рдЧрд┐рдЯ рдкреЛрд╕реНрдЯ-рдЪреЗрдХрдЖрдЙрдЯ рдХреЗ рд▓рд┐рдП рд╣реБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЕрдкрдбреЗрдЯ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдирд┐рд░рдВрддрд░ рдФрд░ рдмрд╛рд╣рд░реА рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рд╣реЛ рдЬрд╛рдПрдЧреАред



рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдХрд╛рдлреА рдЖрджрд┐рдо рд╣реИ рдФрд░ рдХрдИ Git рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рдХреВрд▓рд░ рдЪреАрдЬреЛрдВ рдХреЛ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдмрджрд▓рдХрд░ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реА рдУрдЖрд░рдПрдо рдлрд╛рдЗрд▓реЗрдВ рдмрджрд▓ рд░рд╣реА рд╣реИрдВред

рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдпрдорд▓ рд╕реНрдХреАрдорд╛ рдмрдирд╛рдПрдВ - рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд▓рдЧ рдЗрди рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рднреА MySQL рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕рдВрд░рдЪрдирд╛ (рдЯреНрд░рд┐рдЧрд░реНрд╕, рдЖрджрд┐) рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд┐рдирд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛, рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рд╕реАрдПрдордПрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред



PS рдпрджрд┐ рд╣рдо рдзреАрдореЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рд╣рдо рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдзреАрдореА рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╣реЗрдЬреЗрдВред



All Articles