рдкрд▓рд╛рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдФрд░ред PHP рд╕рдВрд╕реНрдХрд░рдг

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

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

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

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

рд╕реНрдерд╛рдкрдирд╛


рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧреАрддрдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ, рдпрд╣ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИ!
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк GitHub рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреНрд▓реЛрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: github.com/ArtemPyanykh/php_migrations_example

рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рд╕рдВрдЧреАрддрдХрд╛рд░ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред Json:
"require" : { "ruckusing/ruckusing-migrations": "dev-master" } 

рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
 ~/dev/php_migrations_example(master)$ php composer.phar install 

рд╕рдВрдЧреАрддрдХрд╛рд░ Ruckuse Migrations рдХреЛ рдЦреАрдВрдЪрддрд╛ рд╣реИ рдФрд░ vendors рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ:


рдпрд╣ рд╕рдм рд╣реИ, рдФрд░ рдЕрдзрд┐рдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рд╣реИ!

рдХреЗ рдЙрдкрдпреЛрдЧ


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЬрдирд░реЗрдЯ рдХрд░рдХреЗ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ:
 ~/dev/php_migrations_example(master)$ cd db ~/dev/php_migrations_example/db(master)$ ./ruckus db:generate CreateTestTable Created migration: 20130508145210_CreateTestTable.php 

рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдХреЗ рдмрд╛рдж db / migrations / main рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдПрдХ рд╣реА рдирд╛рдо рд╡рд╛рд▓реА рдлрд╛рдЗрд▓ (рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдЕрд▓рдЧ рд╣реЛрдЧреА) рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдВрдЯреЗрдВрдЯ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛:
 <?php class CreateTestTable extends Ruckusing_Migration_Base { public function up() { }//up() public function down() { }//down() } 

рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдореЗрдВ рдРрд╕реА рд╕рдВрдкрддреНрддрд┐ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ рди рдХреЗрд╡рд▓ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХрд╛ рдкрд░реНрдпрд╛рдкреНрдд рддрд░реАрдХрд╛ рд╣реЛрдиреЗ рдкрд░ рд░рджреНрдж рднреА рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдк () рд╡рд┐рдзрд┐рдпреЛрдВ (рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ) рдФрд░ рдиреАрдЪреЗ () рддрд░реАрдХреЛрдВ (рдкреАрдЫреЗ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд░реЛрд▓ рдХрд░рдиреЗ) рдХрд╛ рд╢рдмреНрджрд╛рд░реНрде рд╣реИред рдЪрд▓реЛ рдХрдИ рдХреНрд╖реЗрддреНрд░реЛрдВ рдФрд░ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░реАрдХреНрд╖рдг рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддреЗ рд╣реИрдВред рд╣рдо рдлрд╛рдЗрд▓ рдХреЛ рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рд╕реЗ рдкреВрд░рдХ рдХрд░рддреЗ рд╣реИрдВ:
 <?php class CreateTestTable extends Ruckusing_Migration_Base { public function up() { $table = $this->create_table('test', array('options' => 'ENGINE=InnoDB DEFAULT CHARSET=utf8')); $table->column('this', 'integer', array('unsigned' => true, 'null' => false, 'default' => '42')); $table->column('that', 'string', array('limit' => '7')); $table->column('those', 'datetime'); $table->finish(); $this->add_index('test', array('this', 'that'), array('unique' => true)); }//up() public function down() { $this->drop_table('test'); }//down() } 

рдФрд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЪрд▓рд╛рдПрдВ:
 ~/dev/php_migrations_example/db(master)$ ./ruckus db:migrate Started: 2013-05-08 7:05pm MSK [db:migrate]: Schema version table does not exist. Auto-creating. Creating schema version table: schema_migrations Migrating UP: ========= CreateTestTable ======== (0.31) Finished: 2013-05-08 7:05pm MSK 

рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреЛ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ, рд╕реНрдХреАрдорд╛_рдорд╛рдЗрдЧреНрд░реЗрд╢рди рддрд╛рд▓рд┐рдХрд╛ рднреА рдмрдирд╛рдИ рдЧрдИ рд╣реИред рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ - рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд░реВрдХреНрдпреВрдЬрд┐рдВрдЧ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЙрди рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдереЗ рдФрд░ рдЬреЛ рдирд╣реАрдВ рдереЗред

рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдмрд╕ рд╡рд╛рдкрд╕ рд░реЛрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 ~/dev/php_migrations_example/db(master)$ ./ruckus db:migrate VERSION=-1 Started: 2013-05-08 7:13pm MSK [db:migrate]: Migrating DOWN: ========= CreateTestTable ======== (0.21) Finished: 2013-05-08 7:13pm MSK ~/dev/php_migrations_example/db(master)$ ./ruckus db:migrate ENV=test Started: 2013-05-08 7:14pm MSK [db:migrate]: Schema version table does not exist. Auto-creating. Creating schema version table: schema_migrations Migrating UP: ========= CreateTestTable ======== (0.24) Finished: 2013-05-08 7:14pm MSK 

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

рдЯрд┐рдкреНрдкрдгреА


  1. рдпрджрд┐ рдЖрдк db/ directory рд╕реЗ ruckus рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реЗрдЧреАред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рднреА рдкрде рд╕рд╛рдкреЗрдХреНрд╖ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рддрдп рд╣реЛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдмрд╛рдд рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
  2. рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рдиреА рдмрд░рддрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд╛рдлреА рднрд╛рд░реА рдореЗрдЬ рд╣реИ, рддреЛ рдХреБрдЫ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯреНрд╕ рдХрд╣реЗрдВ, рдФрд░ рдЖрдк рдЗрд╕ рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕реА рддрд░рд╣ рд╕реНрдХреАрдо рдХреЛ рдмрджрд▓ рджреЗрдВ, рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдПрдХ рдЖрдкрджрд╛ рд╣реЛрдЧреАред рдпрджреНрдпрдкрд┐ рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкрд▓рд╛рдпрди рдХреА рдХрдореА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ DBMS рдХреА рдХрдореА рд╣реИ, рдлрд┐рд░ рднреА рдпрд╣ рдХреБрдЫ рд╣рдж рддрдХ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИред рдмрдбрд╝реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдкреЗрд░рдХреЛрдирд╛ рдЯреВрд▓рдХрд┐рдЯ ред


рд╕рдВрджрд░реНрдн


Source: https://habr.com/ru/post/In179155/


All Articles