上下文: 我已经构建了一个正在制作的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
)在合并我的更改并将我的代码推送到生产后,会破坏任何数据吗?
此外,由于我已经在生产中使用了不同的数据库,我应该删除它吗?如果是这样,怎么样?
我很乐意添加有人需要的任何细节,以便给出有用的回复!提前致谢
答案 0 :(得分:0)
Heroku使用Postgres,而不是上次检查时的sqlite。
查看gemfile的production
部分中的内容,它应该是postgres。在测试/开发中,您可以使用sqlite。
您在使用rake db:create
的计算机上所做的任何更改也应该是本地的。如果你确保正确配置你的database.yml(也在上面的链接中),你不必担心在heroku上搞乱你的数据库。
如果可以的话,创建生产数据备份不会有什么坏处。