我见过很多例子,其中sqlite用于测试数据库,postgres / mysql用于开发。
这种策略有什么含义?
这两个数据库之间存在明显的差异,理论上可能一个传递一个的测试可能会失败。
答案 0 :(得分:1)
我想,这是为了简单起见。使用sqlite,开发人员无需在其计算机上安装完整的DB服务器。它“只是工作”。对于教程等非常有用。
但是,当然,它可以在后面部分咬你(正如你正确指出的那样)。在实际应用程序的实际开发中,您应该在所有环境中使用相同的数据库。
答案 1 :(得分:0)
是的,我完全同意塞尔吉奥。这些指南在以轨道方式完成所有内容时非常有用,但实际生产应用程序并非总是这样。不仅仅是数据库,而且每个细节都应该复制到测试/登台机器,包括数据库时区和全局变量或设置或配置。
答案 2 :(得分:0)
这样做有99.9%的错误。可能有一些极端的边缘情况,你可以争辩这样做,虽然我想不到一个,可能不会在这一生中。
Postgres是免费的,为什么甚至会考虑在另一个环境中替换sqlite?我希望我的数据不会存在于这些系统中,如果这是正在做出的决策类型,它们听起来就像一个纱球。
一位称职的工程师努力将系统从开发复制到生产,而不是偏离那些没有意义的地方。
答案 3 :(得分:0)
SQLite是比PostgreSQL或MySQL更简单的数据库,如果您正在测试“非常小”的应用程序,您可以轻松地使用它而不是PostgreSQL。但我不推荐它,因为:
基本测试,因为你将提供,除非不可能,在这种情况下,尝试看起来最像一个选项。