CodeIgniter 4 — это мощный PHP-фреймворк, упрощающий процесс разработки веб-приложений. Одной из его выдающихся особенностей является возможность создавать базы данных и управлять ими с помощью миграции. В этой статье мы рассмотрим различные методы, доступные в CodeIgniter 4, для создания базы данных посредством миграции. Мы предоставим примеры кода и будем использовать разговорный язык, чтобы облегчить понимание процесса.
Метод 1: создание таблицы базы данных
Первый метод предполагает создание новой таблицы в базе данных. Выполните следующие действия:
Шаг 1. Определите миграцию
Создайте новый файл миграции, выполнив следующую команду в терминале вашего проекта CodeIgniter 4:
php spark make:migration create_table_name
При этом будет создан новый файл миграции в каталоге app/Database/Migrations. Откройте файл и добавьте необходимый код для создания таблицы. Вот пример:
namespace App\Database\Migrations;
use CodeIgniter\Database\Migration;
class CreateTableName extends Migration
{
public function up()
{
$this->forge->addField([
'id' => [
'type' => 'INT',
'constraint' => 5,
'unsigned' => true,
'auto_increment' => true,
],
'name' => [
'type' => 'VARCHAR',
'constraint' => '100',
],
'email' => [
'type' => 'VARCHAR',
'constraint' => '100',
],
]);
$this->forge->addPrimaryKey('id');
$this->forge->createTable('table_name');
}
public function down()
{
$this->forge->dropTable('table_name');
}
}
Шаг 2. Запустите миграцию
Чтобы выполнить миграцию и создать таблицу в базе данных, выполните в терминале следующую команду:
php spark migrate
При этом будет применена миграция и создана указанная таблица в базе данных.
Метод 2: добавление столбцов в существующую таблицу
Если у вас уже есть таблица в базе данных и вы хотите добавить в нее новые столбцы, вы можете использовать этот метод. Выполните следующие действия:
Шаг 1. Определите миграцию
Создайте новый файл миграции, выполнив следующую команду в терминале вашего проекта CodeIgniter 4:
php spark make:migration add_column_to_table_name
Откройте созданный файл миграции и добавьте необходимый код для добавления столбцов в существующую таблицу. Вот пример:
namespace App\Database\Migrations;
use CodeIgniter\Database\Migration;
class AddColumnToTableName extends Migration
{
public function up()
{
$this->forge->addColumn('table_name', [
'new_column' => [
'type' => 'VARCHAR',
'constraint' => '100',
'after' => 'existing_column',
],
]);
}
public function down()
{
$this->forge->dropColumn('table_name', 'new_column');
}
}
Шаг 2. Запустите миграцию
Чтобы выполнить миграцию и добавить новые столбцы в таблицу в базе данных, выполните в терминале следующую команду:
php spark migrate
Метод 3. Изменение существующего столбца
Если вам нужно изменить структуру существующего столбца, например изменить его тип данных или длину, выполните следующие действия:
Шаг 1. Определите миграцию
Создайте новый файл миграции, выполнив следующую команду в терминале вашего проекта CodeIgniter 4:
php spark make:migration modify_column_in_table_name
Откройте созданный файл миграции и добавьте необходимый код для изменения столбца. Вот пример:
namespace App\Database\Migrations;
use CodeIgniter\Database\Migration;
class ModifyColumnInTableName extends Migration
{
public function up()
{
$this->forge->modifyColumn('table_name', [
'existing_column' => [
'type' => 'INT',
'constraint' => 10,
'null' => false,
],
]);
}
public function down()
{
$this->forge->modifyColumn('table_name', [
'existing_column' => [
'type' => 'INT',
'constraint' => 5,
'null' => false,
],
]);
}
}
Шаг 2. Запустите миграцию
Чтобы выполнить миграцию и изменить столбец в базе данных, выполните в терминале следующую команду:
php spark migrate
CodeIgniter 4 предоставляет удобный способ создания баз данных и управления ими с помощью миграции. В этой статье мы рассмотрели три метода: создание новой таблицы базы данных, добавление столбцов в существующую таблицу и изменение существующего столбца. Следуя этим шагам и используя предоставленные примеры кода, вы сможете легко создавать и изменять структуру базы данных в CodeIgniter 4.
Не забудьте запустить миграцию с помощью команды php spark migrate, чтобы применить изменения к вашей базе данных.