0

У меня есть проект Play 2.3.7, и почему-то эволюция не работает для меня.
Я использую Scala 2.11 с sbt 0.13.5. Также используется Scala.js, поэтому структура папок немного необычна для проекта Play.
У меня есть файл конфигурации, который говорит applyEvolutions.default=true, и я определил свой дефолтный дБ как Postgres.
Любое представление о том, что не так? У меня есть папка с моделями в jvm/app/models, может быть, это причина?
Кроме того, может кто-нибудь объяснить, как работают эволюции (по крайней мере, на высоком уровне)? Знает ли он поля классов моделей и отслеживает, какие из них уже представлены в моей базе данных?Не могу получить Play эволюции для работы

+0

У меня такая же проблема, вы нашли решение? –

+1

@ M-N, что я думаю - хотя у меня нет источника для поддержки этого - эволюционные скрипты не генерируются автоматически. например если вы хотите добавить поле, вы вручную добавляете новый файл с инструкциями вверх и вниз, а затем играете! применяет его при запуске – chester89

+1

@MN, также, если я правильно помню, играл прикладные эволюции, которые у меня были - я просто ожидал увидеть больше таблиц (это был не проект, который я начал, поэтому я не был уверен, как хранятся данные) – chester89

ответ

0

Play документация довольно прямо вперед для справки об эволюции игры: Evolution

Play отслеживает ваши эволюции базы данных, используя несколько эволюций сценария. Эти сценарии написаны на простом старом SQL и должны быть расположены в каталоге conf/evolutions/{database name} вашего приложения. Если эволюция применима к вашей базе данных по умолчанию, этот путь будет conf/evolutions/default.

, где часть Ups описывает необходимые преобразования и часть Downs, которая описывает, как их вернуть.

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