В Yii 2 миграции являются важной частью управления изменениями схемы базы данных. Миграции позволяют вам управлять версиями схемы базы данных и легко применять изменения в различных средах. В этой статье мы рассмотрим различные методы создания миграций с полями в Yii 2, а также приведем примеры кода.
Метод 1: использование метода createTable
Метод createTable
— наиболее распространенный способ создания новой таблицы с полями в Yii 2. Вот пример:
use yii\db\Migration;
class m210309_000000_create_example_table extends Migration
{
public function up()
{
$this->createTable('example', [
'id' => $this->primaryKey(),
'name' => $this->string()->notNull(),
'age' => $this->integer(),
'created_at' => $this->integer(),
'updated_at' => $this->integer(),
]);
}
public function down()
{
$this->dropTable('example');
}
}
Метод 2: использование метода addColumn
.
Если вы хотите добавить поля в существующую таблицу, вы можете использовать метод addColumn
. Вот пример:
use yii\db\Migration;
class m210309_000001_add_example_fields extends Migration
{
public function up()
{
$this->addColumn('example', 'email', $this->string()->notNull());
$this->addColumn('example', 'phone', $this->string());
}
public function down()
{
$this->dropColumn('example', 'email');
$this->dropColumn('example', 'phone');
}
}
Метод 3. Использование метода alterColumn
Метод alterColumn
позволяет изменять свойства существующего столбца. Вот пример:
use yii\db\Migration;
class m210309_000002_alter_example_column extends Migration
{
public function up()
{
$this->alterColumn('example', 'age', $this->smallInteger()->defaultValue(18));
}
public function down()
{
$this->alterColumn('example', 'age', $this->integer());
}
}
Метод 4: использование метода renameColumn
Если вам нужно переименовать столбец в таблице, вы можете использовать метод renameColumn
. Вот пример:
use yii\db\Migration;
class m210309_000003_rename_example_column extends Migration
{
public function up()
{
$this->renameColumn('example', 'age', 'new_age');
}
public function down()
{
$this->renameColumn('example', 'new_age', 'age');
}
}
В этой статье мы рассмотрели несколько методов создания миграций с полями в Yii 2. Эти методы позволяют создавать новые таблицы, добавлять поля в существующие таблицы, изменять свойства столбцов и переименовывать столбцы. Используя миграции, вы можете легко управлять изменениями схемы базы данных и контролировать их версии в приложении Yii 2.