我该如何迁移我的Heroku数据库?

7

我尝试了以下方法:

heroku rake db:migrate

heroku pg:push

第一个方法出现了PGerror / rake aborted错误。

有没有一种方法可以通过Heroku完全重建/重置我的数据库?我在他们的文档中找不到相关内容。

编辑:在此之前,我有一个可用的数据库,但我的表格和关系已经更改。

5个回答

18

如果你有一个可用的数据库,你可以根据模式重新创建表:

heroku run rake db:schema:load

如果你只想将数据库重置为空:

heroku run rake db:create

它给你的错误是什么?尝试解决那个问题可能比清除所有东西更有帮助。


看起来使用 Heroku 的 rake db:migrate VERSION=0 然后 heroku rake db:create 命令可以重新创建数据库。感谢 @oded-harth 和 @felix。 - BasicObject
2
“heroku rake”已被弃用,推荐使用“heroku run rake”。至少,这是错误信息告诉我的。 - Nick

5

由于heroku rake已被弃用,因此需要更新为heroku run rake。以下是今天(2013年3月8日)的命令行/标准错误输出:


错误示例:

  • PROMPT>heroku rake db:migrate --app myApp

警告:'heroku rake'已被弃用,请改用'heroku run rake'。


正确示例:

  • PROMPT>heroku run rake db:migrate --app myApp

正在运行rake db:migrate并附加到终端... up, run.2810


1

尝试:

 heroku rake db:migrate VERSION=0

这将使您的数据库回到起点。


1
你可以直接在Heroku Web应用程序中运行Heroku。

heroku command

然后执行 heroku run rails db:migrate

heroku run rails db:migrate


0
heroku run rake db:migrate -a appname

3
请解释您的代码。代码本身并没有太多信息。 - tomloprod

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接