Postgresql 埃宾的Heroku Postgres bytea

Postgresql 埃宾的Heroku Postgres bytea,postgresql,heroku,playframework,playframework-2.0,ebean,Postgresql,Heroku,Playframework,Playframework 2.0,Ebean,我正在使用play 2.2,将Eben ORM部署到Heroku。埃宾是新来的,我遇到了麻烦。我需要存储一个图像文件,并且存在兼容性问题。Ebean将允许使用@Lob创建Blob,或者不使用标记longvarbinary。我需要一杯博士后茶。有可能这样做吗?如果没有,是否有其他存储图像文件的方法 编辑: 这是我在尝试将工作正常的本地回购推送到Heroku时收到的错误消息 2015-04-30T15:43:02.546699+00:00 app[web.1]: Play server proces

我正在使用play 2.2,将Eben ORM部署到Heroku。埃宾是新来的,我遇到了麻烦。我需要存储一个图像文件,并且存在兼容性问题。Ebean将允许使用@Lob创建Blob,或者不使用标记longvarbinary。我需要一杯博士后茶。有可能这样做吗?如果没有,是否有其他存储图像文件的方法

编辑:

这是我在尝试将工作正常的本地回购推送到Heroku时收到的错误消息

2015-04-30T15:43:02.546699+00:00 app[web.1]: Play server process ID is 3
2015-04-30T15:43:04.524027+00:00 app[web.1]: [info] play - database   [default] connected at jdbc:postgresql://ec2-184-73-221-47.compute- 1.amazonaws.com:5432/dcn8fp0jefq7ef
2015-04-30T15:43:05.490712+00:00 app[web.1]: [error] play - ERROR: type "blob" does not exist
2015-04-30T15:43:05.490720+00:00 app[web.1]:   Position: 376 [ERROR:0, SQLSTATE:42704]
2015-04-30T15:43:05.531616+00:00 app[web.1]: Oops, cannot start the server.
2015-04-30T15:43:05.532587+00:00 app[web.1]:    at play.api.db.evolutions.Evolutions$.checkEvolutionsState(Evolutions.scala:193)
2015-04-30T15:43:05.543409+00:00 app[web.1]:    at play.api.db.evolutions.EvolutionsPlugin.onStart(Evolutions.scala:459)
2015-04-30T15:43:05.543526+00:00 app[web.1]:    at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:88)
2015-04-30T15:43:05.543570+00:00 app[web.1]:    at scala.collection.immutable.List.foreach(List.scala:318)
2015-04-30T15:43:05.543479+00:00 app[web.1]:    at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:88)
2015-04-30T15:43:05.543095+00:00 app[web.1]:    at play.api.db.evolutions.Evolutions$.applyScript(Evolutions.scala:277)
2015-04-30T15:43:05.5
在我的模型中是这样定义的: 这是我的application.conf设置: 我还有一个类似这样的Procfile。 在上面的评论中使用@codefinger提供的上面的链接,我能够让它工作。我只是想更新一下,以防其他人对此感到困扰。结果表明H2不支持bytea。在更改了下面发布的默认db配置后,我能够生成工作DDL并远程连接到我的Heroku数据库,从而消除了对H2的需要

db.default.driver=org.postgresql.Driver 
https://postgres.heroku.com/ -> YourDBs -> db-name -> Connection settings -> JDBC URL + &ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory

这与这个问题有关吗?这就是我试图做到的。它在本地运行良好,但当推到heroku时,我会收到刚才添加到原始问题中的错误消息。您是否在application.conf中的任何位置设置db.default.url=${?DATABASE_url}?另外,我对H2驱动程序也不太清楚,我通常是这样设置db conf的:另一件要考虑的事情是:如果您的*.sql文件是为H2生成的模式,那么即使模式设置为PostgreSQL,它们也可能不正确。这个答案有一些很好的信息:如果我去掉字节[],它们就会起作用。我认为这是一个H2问题,你是对的。看起来H2不支持bytea。可能是出了什么问题。我将尝试并遵循链接中的建议。谢谢
# Database configuration
# ~~~~~
# You can declare as many datasources as you want.
# By convention, the default datasource is named `default`
#

db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play;MODE=PostgreSQL"
#
# You can expose this datasource via JNDI if needed (Useful for JPA)
# db.default.jndiName=DefaultDS

# Evolutions
# ~~~~~
# You can disable evolutions if needed
# evolutionplugin=disabled

# Ebean configuration
# ~~~~~
# You can declare as many Ebean servers as you want.
# By convention, the default server is named `default`
#
ebean.default="models.*"
web: target/universal/stage/bin/hello-play-backbone -Dhttp.port=${PORT} $PLAY_OPTS 
-DapplyEvolutions.default=true -Ddb.default.url=${DATABASE_URL} -Ddb.default.driver=org.postgresql.Driver
http://stackoverflow.com/a/12196800/63308
db.default.driver=org.postgresql.Driver 
https://postgres.heroku.com/ -> YourDBs -> db-name -> Connection settings -> JDBC URL + &ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory