Воспроизведение 2.0 scala учебник - героику не удается из-за эволюции

Я слежу за учебником по версии 2.0 для Scala

Все работает нормально, пока я не попытаюсь нажать и запустить его на Heroku. после запуска "git push heroku master", сервер аварийно завершает работу. Проверяя журналы, я вижу следующее:

Starting process with command `target/start -Dhttp.port=37849 -Xmx384m -Xss512k -XX:+UseCompressedOops`
2012-08-13T06:52:45+00:00 app[web.1]: Play server process ID is 2
2012-08-13T06:52:46+00:00 app[web.1]: [info] play - database [default] connected at jdbc:h2:mem:play
2012-08-13T06:52:46+00:00 app[web.1]: [warn] play - Your production database [default] needs evolutions! 
2012-08-13T06:52:46+00:00 app[web.1]: 
2012-08-13T06:52:46+00:00 app[web.1]: CREATE SEQUENCE task_id_seq;
2012-08-13T06:52:46+00:00 app[web.1]: label varchar(255)
2012-08-13T06:52:46+00:00 app[web.1]: CREATE TABLE task (
2012-08-13T06:52:46+00:00 app[web.1]: id integer NOT NULL DEFAULT nextval('task_id_seq'),
2012-08-13T06:52:46+00:00 app[web.1]: );
2012-08-13T06:52:46+00:00 app[web.1]: 
2012-08-13T06:52:46+00:00 app[web.1]: # --- Rev:1,Ups - c5e3eee
2012-08-13T06:52:46+00:00 app[web.1]: [warn] play - Run with -DapplyEvolutions.default=true if you want to run them automatically (be careful)
2012-08-13T06:52:46+00:00 app[web.1]: Oops, cannot start the server.
2012-08-13T06:52:46+00:00 app[web.1]: PlayException: Database 'default' needs evolution! [An SQL script need to be run on your database.]
2012-08-13T06:52:46+00:00 app[web.1]:   at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1.apply(Evolutions.scala:422)

Любые мысли?

Ответ 1

Если вы используете встроенную базу данных или PostgreSQL, у Play нет поддержки для применения эволюции вручную...

Но, как сказано в сообщении об ошибке, вы можете активировать ключ конфигурации в файле application.conf: applyEvolutions.default=true

Включение будет означать, что функция "Воспроизвести" автоматически ly применяет все эволюции!

Но будьте осторожны с вашими сценариями обновления... если вы снимете и заново создаете каждую инкрементную версию = > , вы убьете все свои данные!

Ответ 2

Альтернативой решению andy может быть добавление следующего к герою procfile

web: target/start -Dhttp.port=${PORT} -DapplyEvolutions.default=true
  -Ddb.default.driver=org.postgresql.Driver -Ddb.default.url=$DATABASE_URL

($ PORT и $DATABASE_URL будут заполнены переменными среды на стороне Heroku)

Ответ 3

Вам нужна база данных. В героике есть бесплатные аддоны