当前位置:  开发笔记 > 编程语言 > 正文

Django:sqlite for dev,mysql for prod?

如何解决《Django:sqlitefordev,mysqlforprod?》经验,为你挑选了4个好方法。

快速提问:在开发Django项目时使用sqlite并在生产服务器上使用MySQL是个好主意吗?



1> Aquarion..:

我强烈建议在开发中使用与生成相同的数据库后端,以及介于两者之间的所有阶段.Django将抽象数据库的东西,但是拥有不同的环境会让你容易受到可怕的国际化,配置问题和令人讨厌的微小不一致的影响,直到你推送它们才会出现.

就个人而言,我坚持使用mysql,但我从未使用过postgres :)



2> Tomasz Zieli..:

我先回答所有先前的答案,添加一些明确的理由:

当你试图将字符串存储在字段宽度更长的时候,MySQL会发出警告异常 - 你不会在SQLite中得到它们,因此不仅你的字符串在开发和生产之间会有所不同,而且程序行为也是如此

两个后端中的错误是不同的 - 我记得曾经我尝试使用SQLite for dev和MySQL进行生产,但事实证明我在MySQL后端发现了一个在SQLite中没有的错误.所以我为它提交了一张票并转而使用MySQL进行测试:-)

你甚至可以尝试在速度方面与SQLite竞争,看看我对其他问题的回答:

提高Django中MySQL表创建的速度?



3> Pentium10..:

你为什么想这么做?

SQLite还没有存储过程支持.

SQLite是无类型的.运行MySQL时,最终可能会出现很多类型转换问题.

SQLite也不支持RIGHT join.



4> Nevir..:

在所有环境中使用相同的数据库.

尽管ORM试图抽象数据库之间的差异,但总会有某些功能在数据库的基础上表现不同.数据库可移植性是一个完整的神话.

另外,对于你永远不会在生产中使用的代码路径进行测试和开发似乎非常疯狂,不是吗?

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有