Содержание
- 2. Инсталляция рабочей копии проекта
- 3. Обновление рабочей копии проекта
- 4. Откат рабочей копии проекта
- 5. Системы контроля версий
- 6. Миграции по разным рабочим копиям
- 7. class m170506_185632_createUser extends Migration { public function up() { $this->createTable(‘User’, []); } public function down() {
- 8. История PHP и история БД
- 9. class m141106_185632_log_init extends Migration { public function up() { foreach (Yii::$app->getLog()->targets as $target) { if ($target
- 10. use app\models\User; class m141106_185632_updateUser extends Migration { public function up() { User::updateAll([‘statusId’ => 5], [‘statusId’ =>
- 11. class m141106_185632_createFaqCategory extends Migration { public function up() { $this->createTable(‘FaqCategory’, […]); } } class m141106_185632_createFaqQuestion extends
- 12. «Инсталляция» расширения / модуля
- 13. Применение миграций из нескольких источников
- 14. Переключение «migrationPath» $ php yii migrate --migrationPath=@app/migrations $ php yii migrate --migrationPath=@some/extension/migrations Использование пространства имен return
- 15. История на сервере разработки
- 16. История на «production» сервере
- 17. История на «production» сервере
- 18. Повторное использование кода $array = [$day1Revenue, $day2Revenue, $day3Revenue]; $avgRevenue = array_sum($array) / count($array); // … $array
- 19. Рефакторинг function avg (array $values) { if (empty($values)) { return 0; } return array_sum($values) / count($values);
- 20. Внешняя миграция, ревизия №1 class m160201_132117_someExtensionMigration extends Migration { public function up() { $this->createTable(‘BlogPostCategory’, […]); $this->createTable(‘BlogPost’,
- 21. Внешняя миграция, ревизия №2 class m160201_132117_someExtensionMigration extends Migration { public function up() { $this->createTable(‘BlogPostCategory’, […]); $this->createTable(‘BlogPost’,
- 22. Раздельная история $ php yii migrate --migrationPath=@app/migrations $ php yii migrate --migrationPath=@some/forum/migrations --migrationTable=migration_forum return [ 'controllerMap'
- 23. Наследование // Без пространства имен: require (Yii::getAlias(‘@some/extension/ m160201_132117_someExtensionMigration.php’)); class m170505_142134_applySomeExtension extends m160201_132117_someExtensionMigration {} // С пространством
- 24. История при наследовании
- 25. Наследование и модификация require (Yii::getAlias(‘@yii/rbac/m140506_102106_rbac_init.php’)); class m170505_142134_rbac extends m140506_102106_rbac_init { protected function getAuthManager() { return new
- 26. Инверсия require (Yii::getAlias(‘@yii/rbac/m140506_102106_rbac_init.php’)); class m170505_142134_undoRbac extends m140506_102106_rbac_init { protected function getAuthManager() { return new yii\rbac\DbManager([‘itemTable’ =>
- 27. Агрегация require (Yii::getAlias(‘@some/extension/m160201_132117_A.php’)); require (Yii::getAlias(‘@another/extension/m150301_141133_B.php’)); class m170505_142134_aggregation extends \yii\db\Migration { public function up() { (new m160201_132117_A([‘db’
- 28. Агрегация с пространством имен namespace app\migrations; use some\extension\M160201132117A.php’; use another\extension\M150301141133B.php; class M170505142134Aggregation extends \yii\db\Migration { public
- 29. История при агрегации
- 30. Независимое использование миграций use my\extension\M170505142134Foo; class InstallController extends \yii\console\Controller { public function actionInstall() { (new M170505142134Foo([‘db’
- 31. Миграции в модульных тестах class BlogPostTest extends TestCase { protected function setUp() { $this->mockApplication(); Yii::$app->db->beginTransaction(); (new
- 33. Скачать презентацию