2015-09-26 3 views
2

В настоящее время я изучаю основы баз данных SQL и использую их в игровой среде. Я создал базу данных Postgres и успешно настроен в моем application.confPlay framework игнорирует сценарий эволюции

db.default.driver=org.postgresql.Driver 
db.default.url="jdbc:postgresql://database.example.com/playdb" 
db.default.user=postgres 
db.default.password=qwerty 

Я также создал файл 1.sql в конфе/эволюции/эволюциях/каталоге по умолчанию и написал там же код примера SQL для создания простой таблицы. Проблема в том, что игра, похоже, игнорирует существование этого файла. Когда я запускаю свой сервер и подключаюсь к локальному хосту, я получаю просьбу от Play, хочу ли я, чтобы мой скрипт применялся к моей базе данных или нет. К сожалению, я не играю и играю только, загружая мою домашнюю страницу (CREATE TABLE в 1.sql не выполняется, и у меня нет таблиц, созданных). Любые идеи, что я делаю неправильно?

+0

Какая версия игры? –

+0

@ m-z Я использую 2.4.3 – DorianOlympia

+0

Извините, но я должен спросить: есть ли у вас эволюция? Проверить 'conf/application.conf'" evolutionplugin = disabled "следует закомментировать – Sorona

ответ

2

Убедитесь, что вы имеете следующую строку в файл build.sbt

libraryDependencies += evolutions 
0

В моем случае, эволюция игнорировали 2.sql (и 1.sql).

Чтобы решить эту проблему, я должен был удалить эти комментарии из 1.sql:

#--- Created by Ebean DDL 
# To stop Ebean DDL generation, remove this comment and start using Evolutions 

и добавить свой собственный комментарий, такие как:

# Initial version 

Кроме того, просмотр 1.sql файл в VI показал он содержит ^M символов, которые необходимо удалить.

После этих двух шагов эволюция прекратила переписывание 1.sql и, наконец, использовала предоставленный файл 2.sql.

Evolution, похоже, перезаписывает 1.sql, даже если вы не выполняете обновление db, поэтому убедитесь, что вы редактируете оригинальную версию.

Я использую игру 2.4.1.

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