我无意中创建了一个生产数据库。这会破坏已经存在的生产数据吗?

时间:2017-11-11 20:57:48

标签: ruby-on-rails database heroku rspec production-environment

上下文: 我已经构建了一个正在制作的rails应用程序。最初,项目的范围很小,所以我不需要编写测试,但随着它的发展,我现在必须拥有它们。

当我与测试数据库一起设置rspec时,我运行了以下命令:

`rake db:create:all`

我收到了以下回复:

Database 'db/development.sqlite3' already exists
Database 'db/test.sqlite3' already exists
Created database 'db/production.sqlite3'`

问题: 鉴于我有一个部署的应用程序(在Heroku上),其生产数据库已经启动并运行,是最后一行( Created database 'db/production.sqlite3)在合并我的更改并将我的代码推送到生产后,会破坏任何数据吗?

此外,由于我已经在生产中使用了不同的数据库,我应该删除它吗?如果是这样,怎么样?

我很乐意添加有人需要的任何细节,以便给出有用的回复!提前致谢

1 个答案:

答案 0 :(得分:0)

Heroku使用Postgres,而不是上次检查时的sqlite。

approximate counting

查看gemfile的production部分中的内容,它应该是postgres。在测试/开发中,您可以使用sqlite。

您在使用rake db:create的计算机上所做的任何更改也应该是本地的。如果你确保正确配置你的database.yml(也在上面的链接中),你不必担心在heroku上搞乱你的数据库。

如果可以的话,创建生产数据备份不会有什么坏处。