Heroku 应用程序在部署后崩溃!框架(类型double不存在)
我无法使用PostgreSQL数据库在Heroku上正确部署我的Heroku 应用程序在部署后崩溃!框架(类型double不存在),heroku,playframework,playframework-2.2,playframework-2.3,Heroku,Playframework,Playframework 2.2,Playframework 2.3,我无法使用PostgreSQL数据库在Heroku上正确部署我的Play Frmaework应用程序(Java) Procfile web:target/universal/stage/bin/name-Dhttp.port=${port} -DapplyEvolutions.default=true-Ddb.default.driver=org.postgresql.driver-Ddb.default.url=$DATABASE\u url 内置的.sbt: name := """name"
Play Frmaework应用程序(Java)
Procfile
web:target/universal/stage/bin/name-Dhttp.port=${port}
-DapplyEvolutions.default=true-Ddb.default.driver=org.postgresql.driver-Ddb.default.url=$DATABASE\u url
内置的.sbt:
name := """name"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava)
scalaVersion := "2.11.1"
libraryDependencies ++= Seq(
javaJdbc,
javaEbean,
cache,
javaWs
)
libraryDependencies += "org.postgresql" % "postgresql" % "9.3-1100-jdbc4"
Heroku的日志:
name := """name"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava)
scalaVersion := "2.11.1"
libraryDependencies ++= Seq(
javaJdbc,
javaEbean,
cache,
javaWs
)
libraryDependencies += "org.postgresql" % "postgresql" % "9.3-1100-jdbc4"
←[36m2015-05-20T13:35:43.429517+00:00应用程序[web.1]:←[0m@6m7pfofpb:
数据库“默认”处于不一致状态!
←[36m2015-05-20T13:35:43.412967+00:00应用程序[web.1]:←[0m[←[31梅罗←[0m]
播放-错误:类型“double”不存在
←[36m2015-05-20T13:35:43.412974+00:00应用程序[web.1]:←[0m位置:320
[错误:0,SQLSTATE:42704]←[36m2015-05-20T13:35:43.428889+00:00
应用程序[web.1]:←[0m Oops,无法启动服务器。
←[36m2015-05-20T13:35:43.429771+00:00应用程序[web.1]:←[0米处
play.api.db.evolutions.evolutions$.checkEvolutionsState(evolutions.scala:196)
←[36m2015-05-20T13:35:43.429822+00:00应用程序[web.1]:←[0米处
play.api.db.evolutions.evolutions$.databaseEvolutions(evolutions.scala:367)
←[36m2015-05-20T13:35:43.429871+00:00应用程序[web.1]:←[0米处
play.api.db.evolutions.evolutions$$anonfun$evolutionScript$2.apply(evolutions.scala:332)
←[36m2015-05-20T13:35:43.429907+00:00应用程序[web.1]:←[0米处
play.api.db.evolutions.evolutions$$anonfun$evolutionScript$2.apply(evolutions.scala:330)
←[36m2015-05-20T13:35:43.433005+00:00应用程序[web.1]:←[0米处
scala.Option.map(Option.scala:145)
←[36m2015-05-20T13:35:43.433063+00:00应用程序[web.1]:←[0米处
play.api.db.evolutions.evolutions$.evolutionScript(evolutions.scala:330)
←[36m2015-05-20T13:35:43.433140+00:00应用程序[web.1]:←[0米处
play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1$$anonfun$apply$1.apply$mcV$sp(evolutions.scala:486)
←[36m2015-05-20T13:35:43.433214+00:00应用程序[web.1]:←[0米处
play.api.db.evolutions.EvolutionsPlugin.withLock(evolutions.scala:531)
←[36m2015-05-20T13:35:43.433254+00:00应用程序[web.1]:←[0米处
play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1.apply(evolutions.scala:485)
←[36m2015-05-20T13:35:43.433294+00:00应用程序[web.1]:←[0米处
play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1.apply(evolutions.scala:483)
←[36m2015-05-20T13:35:43.433333+00:00应用程序[web.1]:←[0米处
scala.collection.immutable.List.foreach(List.scala:383)
←[36m2015-05-20T13:35:43.433450+00:00应用程序[web.1]:←[0米处
play.api.db.evolutions.EvolutionsPlugin.onStart(evolutions.scala:483)
←[36m2015-05-20T13:35:43.433528+00:00应用程序[web.1]:←[0米处
play.api.play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(play.scala:91)
←[36m2015-05-20T13:35:43.433588+00:00应用程序[web.1]:←[0米处
play.api.play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(play.scala:91)
←[36m2015-05-20T13:35:43.433638+00:00应用程序[web.1]:←[0米处
scala.collection.immutable.List.foreach(List.scala:383)
←[36m2015-05-20T13:35:43.433676+00:00应用程序[web.1]:←[0米处
play.api.play$$anonfun$start$1.apply$mcV$sp(play.scala:91)
←[36m2015-05-20T13:35:43.433728+00:00应用程序[web.1]:←[0米处
play.api.play$$anonfun$start$1.apply(play.scala:91)
←[36m2015-05-20T13:35:43.433774+00:00应用程序[web.1]:←[0米处
play.api.play$$anonfun$start$1.apply(play.scala:91)
←[36m2015-05-20T13:35:43.433809+00:00应用程序[web.1]:←[0米处
play.utils.Threads$.withContextClassLoader(Threads.scala:21)
←[36m2015-05-20T13:35:43.433864+00:00应用程序[web.1]:←[0米处
play.api.play$.start(play.scala:90)
←[36m2015-05-20T13:35:43.433912+00:00应用程序[web.1]:←[0米处
play.core.StaticApplication.(ApplicationProvider.scala:55)
←[36m2015-05-20T13:35:43.434109+00:00应用程序[web.1]:←[0米处
play.core.server.NettyServer$.createServer(NettyServer.scala:244)
←[36m2015-05-20T13:35:43.434194+00:00应用程序[web.1]:←[0米处
play.core.server.NettyServer$$anonfun$main$3.apply(NettyServer.scala:280)
←[36m2015-05-20T13:35:43.434302+00:00应用程序[web.1]:←[0米处
play.core.server.NettyServer$$anonfun$main$3.apply(NettyServer.scala:275)
←[36m2015-05-20T13:35:43.434388+00:00应用程序[web.1]:←[0米处
scala.Option.map(Option.scala:145)
←[36m2015-05-20T13:35:43.434467+00:00应用程序[web.1]:←[0米处
play.core.server.NettyServer$.main(NettyServer.scala:275)
←[36m2015-05-20T13:35:43.434565+00:00应用程序[web.1]:←[0米处
play.core.server.NettyServer.main(NettyServer.scala)
←[36m2015-05-20T13:35:44.389152+00:00 heroku[web.1]:←[0m状态已更改
从开始到崩溃←[36m2015-05-20T13:35:44.376937+00:00
heroku[web.1]:←[0m进程已退出,状态为255
我特别不懂这句台词
00:00应用程序[web.1]:←[0m[←[31梅罗←[0m]播放-错误:键入“double”
不存在
当然,我的一些项目类中有一些双属性。为什么双属性类型有错误
欢迎您提出任何建议/想法:)
编辑1
以下是我使用double
类型的仅有两个类。
汽车
@Entity
public class Car extends Model{
@Id
@GeneratedValue
private int id;
@ManyToOne
@JoinColumn(name="user_fk")
private User user;
private String brand;
private String model;
@Column(unique = true)
private String licencePlate;
private String fuel;
private int nbSits;
@Column(name = "avg_cons", columnDefinition = "REAL")
private double avgCons; // Average consumption
@Column(name = "co2_cons", columnDefinition = "REAL")
private double co2Cons;
@Column(name = "htva_price", columnDefinition = "REAL")
private double htvaPrice;
@Column(name = "leasing_price", columnDefinition = "REAL")
private double leasingPrice;
@Column(columnDefinition = "REAL")
private double mileage;
@Column(columnDefinition = "REAL")
private boolean availability;
}
交易
@Entity
@Table(name = "transactions")
public class Transaction extends Model{
@Id
@GeneratedValue
private int id;
@OneToOne
@JoinColumn(name = "car_fk")
private Car car;
@OneToOne
@JoinColumn(name = "driver")
private User driver;
@Column(name = "from_date")
private Timestamp fromDate;
@Column(name = "to_date")
private Timestamp toDate;
@Column(name = "start_mileage", columnDefinition = "REAL")
private double startMileage;
@Column(name = "end_mileage", columnDefinition = "REAL")
private double endMileage;
@Column(columnDefinition = "REAL")
private double avgCons;
private String status;
private boolean exchange;
}
PostgreSQL使用列类型double precision,不知道列类型double
我建议你试试这样的东西
@Column(columnDefinition = "NUMERIC")
private BigDecimal startMileage;
columnDefinition
的值实际上是DDL语句的一部分,这就是为什么您应该检查1.sql以查看(由Ebean)生成的确切内容。您可以发布DDL语句中出现此错误的部分吗。它应该在您的evolutions*.sql文件中(可能是1.sql)。可能相应的Java模型classI也会在周日完成,因为那时我没有计算机访问权限。@Anton我更新了我的问题。我查看了1.sql ans,它只不过是经典的创建表脚本。非常感谢