快速问题:在开发Django项目时使用sqlite,然后在生产服务器上使用MySQL,这是一个好主意吗?
快速问题:在开发Django项目时使用sqlite,然后在生产服务器上使用MySQL,这是一个好主意吗?
我强烈建议在开发、生产以及所有中间阶段都使用相同的数据库后端。Django可以抽象出数据库操作,但是不同的环境可能会导致可怕的国际化、配置问题和难以察觉的微小差异,这些问题直到你将其推向线上才会显露。
个人而言,我会坚持使用MySQL,但我从未习惯过PostgreSQL :)
我同意之前的所有答案,并补充一些明确的原因:
并且你甚至可以试着在速度方面与SQLite竞争,可以看看我的回答:
你为什么想要这样做?
在所有环境中使用相同的数据库。
尽管ORM试图抽象不同数据库之间的差异,但基于数据库的某些功能总是会有所不同。数据库可移植性是一个完全的神话。
此外,针对您永远不会在生产中使用的代码路径进行测试和开发似乎非常疯狂,不是吗?
我在开始使用sqlite时犯了一个很大的错误,当我尝试在生产服务器上部署mysql时,事情并没有像我预期的那样顺利。我尝试使用各种开关进行dumpdata/loaddata操作,但总是会接连出现错误。为了自己着想,请在生产和开发中使用相同的数据库。