Создание миграции - PNixx/Boot GitHub Wiki

Создание миграции

Открываем в консоли корневую директорию приложения. Для создания миграции выполняем следующий запрос: php console/create/migrate.php [operation] [params]

Операции (operation)

Создание таблицы

Операция: create_table

php console/create/migrate.php create_table_[table_name] [column:type:is_null:default] [etc.]

Поля id, data будут созданы автоматически, если они не были указаны в запросе. Пример запроса:

php console/create/migrate.php create_table_user login:string:false password:string:false role:int:false:1

Дополнительные значения:

:PKEY=[column] - первичные ключи для указанных полей (через запятую). Если указан первичный ключ, отличный от id, то колонка id автоматически создана не будет.

:UKEY=[column] - уникальные значения полей (через запятую)

Удаление таблицы

Операция: drop_table

php console/create/migrate.php drop_table_[table_name]

Добавление колонки

Операция: alter_table

php console/create/migrate.php alter_table_[table_name] [params]

Параметры:

column_user=user_id - переименование колонки из column_user в user_id

+column:type - добавление колонки column с типом type

Пример запроса:

php console/create/migrate.php alter_table_user login=email +password:varchar\(255\)

Создание индекса

Операция: create_index

php console/create/migrate.php create_index_[table_name] [column] [column1,column2]

При такой миграции будет создано два индекса с полями: column и [column1, column2]

Пример запроса:

php console/create/migrate.php create_index_user email tag_id,artist_id

SQL миграция

Операция: sql

php console/create/migrate.php sql [sql_query_up] [sql_query_down]

Параметры:

sql_query_up - выполняется при запуске migrate (не обязательный)

sql_query_down - выполняется при запуске rollback (не обязательный)

Пример запроса:

php console/create/migrate.php sql "ALTER TABLE user_account ADD CONSTRAINT \"ukey_user_id\" UNIQUE (\"user_id\");"

p.s.: не забываем экранировать кавычки в запросах