2015-12-09 52 views
1

我正在嘗試部署Play! 2.4項目,使用eBeans和Evolution。玩! 2.4和演變無法部署在MySQL數據庫上

然而,嘗試部署一個MySQL數據庫我收到以下錯誤時:

[error] p.a.d.e.DefaultEvolutionsApi - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sequence donation_seq' at line 1 [ERROR:1064, SQLSTATE:42000] 
Oops, cannot start the server. 
@6ocm6hnl7: Database 'default' is in an inconsistent state! 
    at play.api.db.evolutions.DatabaseEvolutions.checkEvolutionsState(EvolutionsApi.scala:269) 
    at play.api.db.evolutions.DatabaseEvolutions.evolve(EvolutionsApi.scala:226) 
    at play.api.db.evolutions.DefaultEvolutionsApi.evolve(EvolutionsApi.scala:81) 
    at play.api.db.evolutions.ApplicationEvolutions$$anonfun$play$api$db$evolutions$ApplicationEvolutions$$runEvolutions$1.apply$mcV$sp(ApplicationEvolutions.scala:62) 
    at play.api.db.evolutions.ApplicationEvolutions.withLock(ApplicationEvolutions.scala:98) 
    at play.api.db.evolutions.ApplicationEvolutions.play$api$db$evolutions$ApplicationEvolutions$$runEvolutions(ApplicationEvolutions.scala:49) 
    at play.api.db.evolutions.ApplicationEvolutions$$anonfun$start$1.apply(ApplicationEvolutions.scala:42) 
    at play.api.db.evolutions.ApplicationEvolutions$$anonfun$start$1.apply(ApplicationEvolutions.scala:42) 
    at scala.collection.immutable.List.foreach(List.scala:381) 
    at play.api.db.evolutions.ApplicationEvolutions.start(ApplicationEvolutions.scala:42) 
    at play.api.db.evolutions.ApplicationEvolutions.<init>(ApplicationEvolutions.scala:149) 
    at play.api.db.evolutions.ApplicationEvolutionsProvider.get$lzycompute(EvolutionsModule.scala:53) 
    at play.api.db.evolutions.ApplicationEvolutionsProvider.get(EvolutionsModule.scala:53) 
    at play.api.db.evolutions.ApplicationEvolutionsProvider.get(EvolutionsModule.scala:44) 
    at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81) 
    at com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:72) 
    at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61) 
    at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:62) 
    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) 
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103) 
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) 
    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145) 
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) 
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:205) 
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:199) 
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) 
    at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:199) 
    at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:180) 
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110) 
    at com.google.inject.Guice.createInjector(Guice.java:96) 
    at com.google.inject.Guice.createInjector(Guice.java:73) 
    at com.google.inject.Guice.createInjector(Guice.java:62) 
    at play.api.inject.guice.GuiceBuilder.injector(GuiceInjectorBuilder.scala:126) 
    at play.api.inject.guice.GuiceApplicationBuilder.build(GuiceApplicationBuilder.scala:93) 
    at play.api.inject.guice.GuiceApplicationLoader.load(GuiceApplicationLoader.scala:21) 
    at play.core.server.ProdServerStart$.start(ProdServerStart.scala:52) 
    at play.core.server.ProdServerStart$.main(ProdServerStart.scala:27) 
    at play.core.server.ProdServerStart.main(ProdServerStart.scala) 

我該如何解決這個問題? 我是否必須指定某處將使用MySQL數據庫進行生產,以便創建與MySQL兼容的SQL語法?

我有H2設置爲MYSQL方式:db.default.url = 「的jdbc:H2:MEM:播放; MODE = MYSQL」

回答

0

使用MySQL作爲我的開發數據庫和升級到5.6版本(5.5呢不接受DateTime(6))解決了這個問題。