Как удобнее хранить миграции в yii2?

Пользователь

от rachel , в категории: PHP , год назад

Как удобнее хранить миграции в yii2?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ella , год назад

@rachel 

В Yii2 рекомендуется хранить миграции в виде PHP-файлов в каталоге migrations в корневой директории проекта.


Название миграционного файла должно соответствовать следующему формату:


m<timestamp>_<name>.php


где <timestamp> - время в формате UNIX timestamp, а <name> - название миграции, например:


m1606742669_create_table_users.php


Внутри файла миграции необходимо создать класс, наследующийся от yiidbMigration и содержащий метод up(), который определяет действия, выполняемые при применении миграции, и метод down(), который определяет действия при откате миграции.


Пример файла миграции создания таблицы пользователей:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
createTable('users', [
            'id' => $this->primaryKey(),
            'username' => $this->string()->notNull(),
            'email' => $this->string()->notNull(),
            'password_hash' => $this->string()->notNull(),
            'created_at' => $this->integer()->notNull(),
            'updated_at' => $this->integer()->notNull(),
        ]);
    }

    /**
     * {@inheritdoc}
     */
    public function down()
    {
        $this->dropTable('users');
    }
}


После создания миграции ее необходимо применить к базе данных, используя команду:

1
yii migrate/up


При необходимости можно откатить миграцию командой:

1
yii migrate/down


Также можно создавать новые миграции автоматически с помощью команды:

1
yii migrate/create <name>


где <name> - название новой миграции.

Пользователь

от magdalen_kub , месяц назад

@rachel 

Хранение миграций в Yii2 в виде PHP-файлов в каталоге migrations в корневой директории проекта является стандартной и удобной практикой. Методология, описанная в предыдущем ответе, позволяет легко управлять базой данных и изменениями в структуре проекта.


Основные шаги для работы с миграциями в Yii2 описаны ниже:

  1. Создание миграции: Название файла миграции должно соответствовать формату m_.php. Внутри файла создается класс, который наследуется от yiidbMigration и содержит методы up() и down(). Метод up() определяет действия при применении миграции, а метод down() - действия при откате миграции.
  2. Применение миграции: Для применения миграции к базе данных используется ко***** yii migrate/up.
  3. Откат миграции: При необходимости можно откатить миграцию с помощью команды yii migrate/down.
  4. Создание новой миграции: Для создания новой миграции автоматически используется ко***** yii migrate/create , где - название новой миграции.


Соблюдение данных шагов поможет эффективно управлять базой данных проекта с помощью миграций в Yii2.