Страница 1 из 1

Очистка кэша после применения миграций

Добавлено: 2019.04.09, 13:39
Haku
Добрый день.
Есть вопрос по внесению правок в базу данных с помощью миграций. Если в конфигурации приложения включено кэширование схемы БД (schemaCachingDuration), будет ли фреймворк автоматически очищать этот кэш после успешного применения новых миграций? Если этого не происходит, то подскажите, пожалуйста, как лучше это реализовать?

Re: Очистка кэша после применения миграций

Добавлено: 2019.04.09, 22:43
ElisDN
Просто вызывать cache/flush после migrate/up.

Re: Очистка кэша после применения миграций

Добавлено: 2019.04.10, 07:33
Haku
ElisDN писал(а): 2019.04.09, 22:43 Просто вызывать cache/flush после migrate/up.
Это вы случаем не про второй Yii говорите? В консольном приложении Yii 1.1 есть только следующие команды:
  • - message,
  • - migrate,
  • - shell,
  • - webapp.

Re: Очистка кэша после применения миграций

Добавлено: 2019.04.11, 08:36
ElisDN
Создайте свою.

Re: Очистка кэша после применения миграций

Добавлено: 2019.04.11, 11:55
Haku
ElisDN писал(а): 2019.04.11, 08:36 Создайте свою.
Сориентируйте, пожалуйста, мне в этом методе нужно вызвать последовательно getTables() и refresh(), и всё?

Код: Выделить всё

public function actionFlush()
{
    Yii::app()->db->schema->getTables();
    Yii::app()->db->schema->refresh();
    
    echo "\nSuccess\n";
}

Re: Очистка кэша после применения миграций

Добавлено: 2019.04.11, 15:44
ElisDN
Или Yii::app()->cache->flush();