Rails 数据库,为什么开发和生产使用相同的 DBMS?

Rails databases, why use same DBMS for development and production?

关于为什么您应该在开发中使用与生产中相同的数据库,我似乎真的找不到准确的解释。我个人喜欢在开发中使用 sqlite3(它轻巧、易于使用,并且有一个很好的 sqlite 浏览器 GUI 工具),然后在生产中使用 postgres 和 heroku。但是,我一直从 RBates 或 Michael Hartl 或其他人那里听到您应该在两者中使用相同的数据库,这是为什么?

我在最初的几个 Rails 项目中在开发中使用了 SQLite3,在生产中使用了 PostgreSQL。就在今天,我将当前项目的开发环境切换到了 PostgreSQL.

当我第一次将我的应用程序部署到 Heroku 时,我花了两天时间来纠正由数据库迁移引起的错误。迁移在 SQLite3 中运行良好,但在 PostgreSQL 中出现故障。如果我使用一个数据库,我就可以避免这次调试。

今天早上我试图使用一些 SQL 查询。如果您只使用 rails 查询,则可以不用切换数据库。当您开始编写 SQL 时,您就会开始发现问题。在这里查看我的问题和解决方案:

如果我的原始 SQL 查询使用 strftime 工作,它们就会在生产中中断。

通过创建匹配的开发和生产环境,让您在未来不再头疼。