2014-09-07 2 views
1

При попытке развернуть мою игру! 2.2.2 приложение к героку, оно терпит неудачу. Я вытащил эту ошибку из heroku logs:@Id и @GeneratedValue не работает на Heroku

2014-09-07T15:33:56.237313+00:00 app[web.1]: play.api.Application$$anon$1: Execution exception[[PersistenceException: Error getting sequence nextval]] 
2014-09-07T15:33:56.225226+00:00 app[web.1]: [error] play - Cannot invoke the action, eventually got an error: javax.persistence.PersistenceException: Error getting sequence nextval 
2014-09-07T15:33:56.237314+00:00 app[web.1]: at play.api.Application$class.handleError(Application.scala:293) ~[com.typesafe.play.play_2.10-2.2.3.jar:2.2.3] 
2014-09-07T15:33:56.237335+00:00 app[web.1]: Caused by: org.postgresql.util.PSQLException: ERROR: relation "problems_seq" does not exist 
2014-09-07T15:33:56.237330+00:00 app[web.1]: at com.avaje.ebeaninternal.server.deploy.BeanDescriptor.nextId(BeanDescriptor.java:1133) ~[org.avaje.ebeanorm.avaje-ebeanorm-3.2.2.jar:na] 
2014-09-07T15:33:56.237302+00:00 app[web.1]: [error] application - 
2014-09-07T15:33:56.237326+00:00 app[web.1]: at com.avaje.ebean.config.dbplatform.SequenceIdGenerator.getMoreIds(SequenceIdGenerator.java:211) ~[org.avaje.ebeanorm.avaje-ebeanorm-3.2.2.jar:na] 
2014-09-07T15:33:56.237336+00:00 app[web.1]: Position: 16 
2014-09-07T15:33:56.237339+00:00 app[web.1]: at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1836) ~[postgresql.postgresql-9.1-901-1.jdbc4.jar:na] 
2014-09-07T15:33:56.237344+00:00 app[web.1]: at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:273) ~[postgresql.postgresql-9.1-901-1.jdbc4.jar:na] 
2014-09-07T15:33:56.237321+00:00 app[web.1]: at scala.Option.map(Option.scala:145) [org.scala-lang.scala-library-2.10.3.jar:na] 
2014-09-07T15:33:56.237324+00:00 app[web.1]: Caused by: javax.persistence.PersistenceException: Error getting sequence nextval 
2014-09-07T15:33:56.237338+00:00 app[web.1]: at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2103) ~[postgresql.postgresql-9.1-901-1.jdbc4.jar:na] 
2014-09-07T15:33:56.237343+00:00 app[web.1]: at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388) ~[postgresql.postgresql-9.1-901-1.jdbc4.jar:na] 
2014-09-07T15:33:56.237323+00:00 app[web.1]: at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:264) [com.typesafe.play.play_2.10-2.2.3.jar:2.2.3] 
2014-09-07T15:33:56.237308+00:00 app[web.1]: 
2014-09-07T15:33:56.237319+00:00 app[web.1]: at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$3.apply(PlayDefaultUpstreamHandler.scala:264) [com.typesafe.play.play_2.10-2.2.3.jar:2.2.3] 
2014-09-07T15:33:56.237327+00:00 app[web.1]: at com.avaje.ebean.config.dbplatform.SequenceIdGenerator.loadMoreIds(SequenceIdGenerator.java:161) ~[org.avaje.ebeanorm.avaje-ebeanorm-3.2.2.jar:na] 
2014-09-07T15:33:56.237332+00:00 app[web.1]: at com.avaje.ebeaninternal.server.persist.DefaultPersister.setIdGenValue(DefaultPersister.java:1239) ~[org.avaje.ebeanorm.avaje-ebeanorm-3.2.2.jar:na] 
2014-09-07T15:33:56.237341+00:00 app[web.1]: at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512) ~[postgresql.postgresql-9.1-901-1.jdbc4.jar:na] 
2014-09-07T15:33:56.237310+00:00 app[web.1]: ! @6jehmmg85 - Internal server error, for (GET) [/] -> 
2014-09-07T15:33:56.237316+00:00 app[web.1]: at play.api.DefaultApplication.handleError(Application.scala:399) [com.typesafe.play.play_2.10-2.2.3.jar:2.2.3] 
2014-09-07T15:33:56.237328+00:00 app[web.1]: at com.avaje.ebean.config.dbplatform.SequenceIdGenerator.nextId(SequenceIdGenerator.java:118) ~[org.avaje.ebeanorm.avaje-ebeanorm-3.2.2.jar:na] 
2014-09-07T15:33:56.237340+00:00 app[web.1]: at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257) ~[postgresql.postgresql-9.1-901-1.jdbc4.jar:na] 
2014-09-07T15:33:56.237318+00:00 app[web.1]: at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$3.apply(PlayDefaultUpstreamHandler.scala:264) [com.typesafe.play.play_2.10-2.2.3.jar:2.2.3] 
2014-09-07T15:33:56.237334+00:00 app[web.1]: at com.avaje.ebeaninternal.server.persist.DefaultPersister.insert(DefaultPersister.java:334) ~[org.avaje.ebeanorm.avaje-ebeanorm-3.2.2.jar:na] 

Конкретно эта линия Caused by: org.postgresql.util.PSQLException: ERROR: relation "problems_seq" does not exist, кажется, проблема.

Мои модели выглядят следующим образом:

@Entity 
@Table(name = "problems") 
public class Problem extends Model { 

    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "problems_id_seq") 
    @SequenceGenerator(name = "problems_id_seq", sequenceName = "problems_id_seq", allocationSize = 1) 
    @Column(name = "problem_id") 
    public Long id; 

    // other properties 
} 

Я задаюсь вопросом, почему это не удается с ошибкой последовательности, даже если я хочу использовать GenerationType.IDENTITY? Базовая база данных - postgres.

ответ

1

Я был в состоянии решить эту проблему за счет перехода к базе данных Postgres для местного развития. Кроме того, я обнаружил, что файл эволюции не был установлен в Heroku из-за глобального параметра .gitignore.

0

я думаю, что это поможет

@Entity 
@Table(name = "problems") 
public class Problem extends Model { 

    @Id 
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "problems_id_seq") 
    @SequenceGenerator(name = "problems_id_seq", sequenceName = "problems_id_seq", allocationSize = 1) 
    @Column(name = "problem_id") 
    public Long id; 

    // other properties 
} 
+0

К сожалению, нет, все еще получая такую ​​же ошибку. – doque

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