我似乎真的无法找到一个准确的解释来解释为什么你应该在开发中使用与生产中相同的数据库。我个人喜欢在开发中使用 sqlite3(它轻巧、易于使用,并且有一个很好的 sqlite 浏览器 GUI 工具),然后在生产中使用 postgres 和 heroku。但是,我不断听到 RBates 或 Michael Hartl 或其他人说您应该在两者中使用相同的数据库,为什么会这样呢?
问问题
191 次
1 回答
7
在我最初的几个 Rails 项目中,我在开发中使用了 SQLite3,在生产中使用了 PostgreSQL。就在今天,我将当前项目的开发环境切换到了 PostgreSQL。
当我第一次将我的应用程序部署到 Heroku 时,我花了两天时间来纠正由数据库迁移引起的错误。迁移在 SQLite3 中运行良好,但在 PostgreSQL 中中断。如果我使用了一个 DB,我会避免这次调试。
今天早上我试图使用一些 SQL 查询。如果您只使用 Rails 查询,则可以避免切换 DB。当您开始编写 SQL 时,您开始看到问题。在此处查看我的问题和解决方案:Ruby strftime '%-m' not working in query
如果我曾经使用 strftime 让我的原始 SQL 查询工作,它们就会在生产中中断。
通过创建匹配的开发和生产环境,为自己省去未来的麻烦。
于 2015-04-20T09:14:15.467 回答