Postgresql 如何在heroku中运行grails命令?

Postgresql 如何在heroku中运行grails命令?,postgresql,grails,heroku,database-migration,Postgresql,Grails,Heroku,Database Migration,我正在尝试使用cedar堆栈向heroku部署一个新的Grails2.0.3应用程序。我的应用程序正在使用管理postgres架构。在开发中,我能够运行grailsdbmupdate来更新我的模式。在heroku,grails似乎不可用。有什么建议吗 我目前的解决方案包括尝试从本地直接连接到heroku postgres,并以这种方式运行迁移(不理想,使用共享数据库也不起作用),或者分叉(似乎过多)。我通过运行dbm更新(可以是任何grails脚本)成功地实现了迁移直接针对本地机器的prod。以

我正在尝试使用cedar堆栈向heroku部署一个新的Grails2.0.3应用程序。我的应用程序正在使用管理postgres架构。在开发中,我能够运行grailsdbmupdate来更新我的模式。在heroku,grails似乎不可用。有什么建议吗


我目前的解决方案包括尝试从本地直接连接到heroku postgres,并以这种方式运行迁移(不理想,使用共享数据库也不起作用),或者分叉(似乎过多)。

我通过运行dbm更新(可以是任何grails脚本)成功地实现了迁移直接针对本地机器的prod。以下是方法:

  • 获取heroku pg实例的凭据。我认为只有使用专用数据库才能实现这一点,而不是共享类型。这可能会随着时间的推移而改变

  • 在datasource.groovy中创建一个新的环境datasource,其中包含产品详细信息。我的看起来像:

  • 有了这个功能,您就可以继续在heroku中使用如下命令更新生产grails应用程序的模式:

     grails -Dgrails.env=prodadmin dbm-update
    

    自动运行功能是为这种情况创建的。请参阅第4节中的“启动时自动运行”一节。

    我尝试了自动运行,但在运行bootstrap.groovy文件中的插入时出现异常。我没有深入调查,但我怀疑引导程序正在自动运行之前运行。
     grails -Dgrails.env=prodadmin dbm-update