Я использую Play Framework (1.2.4) Я создал объект UserAccount
, развернул его в Heroku. Отлично. Затем я добавил поле isAdmin
в класс UserAccount
, развернул его локально, и он работал нормально (но я использую БД в памяти), затем я развернул его на Heroku, и теперь я получаю следующее исключение:Play Framework DB обновления с Heroku
2011-12-23T09:03:35+00:00 app[web.1]: play.exceptions.JavaExecutionException: org.hibernate.exception.SQLGrammarException: could not load an entity: [models.UserAccount#2]
2011-12-23T09:03:35+00:00 app[web.1]: PersistenceException occured : org.hibernate.exception.SQLGrammarException: could not load an entity: [models.UserAccount#2]
...
2011-12-23T09:03:35+00:00 app[web.1]: Caused by: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not load an entity: [models.UserAccount#2]
2011-12-23T09:03:35+00:00 app[web.1]: Caused by: org.hibernate.exception.SQLGrammarException: could not load an entity: [models.UserAccount#2]
2011-12-23T09:03:35+00:00 app[web.1]: Caused by: org.postgresql.util.PSQLException: ERROR: column useraccoun0_.isadmin does not exist
...
Я искал вокруг, чтобы выяснить, как сделать обновления БД, и сайт Play говорит, что Hibernate должен обрабатывать это для меня.
Вот мои DB свойства:
%prod.db=${DATABASE_URL}
%prod.jpa.dialect=org.hibernate.dialect.PostgreSQLDialect
%prod.jpa.ddl=update
Что я делаю неправильно? Спасибо за помощь.
Спасибо за ввод, я попробую. Это одно время или я делаю это каждый раз, когда происходят изменения БД? Кроме того, это что-то безопасное для живых данных или мне нужно что-то более ручное, у меня есть большой набор данных? – Joel
О, я вижу. Это ручные сценарии обновления. Тогда я буду играть с ними. Спасибо за помощь. – Joel
Я получаю «sh: play: not found» – Bill