我想在我的所有测试中使用sqlite内存数据库,为我的开发/生产服务器使用Postgresql。
但是两种dbs中的SQL语法都不相同。例如:SQLite有自动增量,Postgresql有序列
将SQL脚本从sqlite移植到postgresql是否容易...你的解决方案是什么?
如果您希望我使用标准SQL,我应该如何在两个数据库中生成主键?
答案 0 :(得分:19)
我的建议是:不要。 Postgresql的功能远远超出了SQLite所能提供的功能,特别是在日期/数字支持,函数和存储过程,ALTER支持,约束,序列,其他类型如UUID等领域,甚至使用各种SQLAlchemy技巧来尝试平滑过来只会让你稍微进一步。特别是日期和间隔算法在两个平台上完全不同,而SQLite不像PG那样支持精度小数(非浮点)。 PG非常容易安装在每个主要操作系统上,如果你走这条路,生活会更容易。
答案 1 :(得分:11)
不要这样做。不要在一个环境中测试,在另一个环境中发布和开发。你使用这个过程要求有缺陷的软件。
答案 2 :(得分:4)
虽然我们在测试环境中使用sqllite,但我们正在认真考虑为每个开发人员运行postgres。我们有用于构建我们的单元测试运行的测试数据库的脚本,并且我们有一个开发人员使用的“开发”版本。
我们调查了在ramdisk上运行postgres'in memory',但是这个讨论:http://dbaspot.com/forums/postgresql/395602-memory-postgresql-database.html表明它没有必要。
我们还没有遇到任何问题,但它仍然处于开发过程的早期阶段,我们还没有做过任何过于花哨的事情。
zzzeek指出一些可能很快就会惹恼我们的事情:(
Best现在采取行动......