2015-07-17 2 views
0

я бегу ./yii migrate и получитьyii2 Миграции не применяя

No new migration found. Your system is up-to-date. 

в то время как моя база данных чиста.

Если я запустил ./yii migrate/create, а затем ./yii migrate успешно находит его и спрашивает, применять ли его.

Кроме того, если переименовать одну из миграции, которые не применяются

, например

м1 1111_051424_create_user_table` => м1 1111_051424_create_user_table

он также найден юй.

+0

Вы можете проверить в таблице «migrate» существование записи «m141111_051424_create_user_table»? –

+0

@IvanButtinoni нет такой таблицы в базе данных – Herokiller

ответ

1

По умолчанию вся информация о прикладных миграциях хранится в миграции таблиц. Проверь это.

Кроме того, если я переименовать одну из миграции, которые не применяются

, например m141111_051424_create_user_table` => m151111_051424_create_user_table

переименован Вы имя класса тоже?

+0

yep, имя класса тоже – Herokiller

+0

база данных чистая – Herokiller

0

Настройка БД в общем/конфигурации/main.php (я предполагаю, что вы используете расширенный шаблон), потому что мигрирует не видят выходивший/конфигурации/main.php

смотри также migration guide

0

Прежде всего, проверьте, какие миграции уже считаются успешными в вашем приложении. Вы можете проверить это, получив список всех успешных миграций из базы данных:

SELECT * FROM `you_db_name`.`migration`; 

Если вы видите там миграцию, то у вас есть несколько способов решения этой проблемы.

1) Удалите запись миграции из миграции таблицы.

2) Функция комментариев вниз (если вам это нужно), затем вниз по миграции, а затем вверх по вашей миграции.

вниз миграции (восстановить структуры данных):

php yii migrate/down 1 

Чтобы до миграции:

php yii migrate up 

Все это будет прекрасно работать, если файл с миграцией написан правильно.

Смежные вопросы