Создание базы данных с использованием миграции в CodeIgniter 4: пошаговое руководство

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, чтобы применить изменения к вашей базе данных.