1

我正在尝试学习如何使用 Heroku 的系统推送和拉取数据库,我只是有一个澄清的问题。

我现有的开发数据库被调用project_dev,但我想创建一个新数据库。我输入了以下命令:

heroku db:pull mysql://root:mydbpassword@localhost/20110302heroku

我有一个包含我的开发、测试和生产数据库的 database.yml 文件,我从 Heroku 收到了以下回复:

Auto-detected local database: mysql://root:mydbpassword@localhost/project_dev?encoding=utf8

这是否意味着如果我想从 Heroku 中提取,我必须先手动创建一个新数据库?这是否意味着除非在我的 database.yml 文件中明确定义了 db,否则我根本无法提取?

任何指针都会非常有帮助。我浏览了 Google、Heroku 和 SO,但没有找到我想要的答案。谢谢!

4

1 回答 1

2

是的,您必须首先创建新的本地数据库,但您不必在 database.yml 文件中声明它。

当我heroku db:pull mysql://root:mydbpassword@localhost/newdb正确运行它时,它会导入newdb数据库。我不确定为什么它会自动检测您的本地开发数据库。您是否使用最新的 heroku 并点击 gems?

于 2011-03-03T02:38:16.547 回答