django如何很好的部署和转移项目?有比较好的思路吗?

最近被django搞得快崩溃~~
要把本地的一个web应用部署到云端 每次都要折腾那么1个小时~~我人也是醉了,每次遇到各种坑~

我在本地的django已经可以成功访问 但是数据库是本地的~
而因为调试的时候 本地生成很多 migrations文件夹的内容

所以我要部署到云端的时候 要在云端创建数据库 使用命令
python2 manage.py migrate 肯定会提示错误~

那么有什么比较方便的办法,可以直接把本地的数据搬到云端?
或是有什么比较方便的方法,在云端运行一个命令 就可以创建一个和本地一样的数据结构的数据库? 然后我再手工搬迁?

感激不尽!

阅读 4.6k
2 个回答
  1. 本地的migrate应该跟你编程过程中修改了model有关系,你现在部署到线上,应该是最新的代码了吧,不需要考虑migrate问题;

  2. 你现在问题是,如何将本地mysql数据库的数据同步到线上?请参考下面的方法:

  • 本地导出数据:

    mysqldump -uroot -p your-database > data.sql

  • 线上mysql中,创建database;

  • 导入数据到线上:

    mysql -h your-mysql-ip -uroot -p your-database < dim_table.sql --default-character-set=utf8

真实线上部署,需要谨慎处理数据库操作。

更改了models,部署时需要做migration。
再线上部署之前最好在本地做migration test以及做好线上环境的数据和代码的备份。

如果只是把本地的环境部署到线上的话,对于你面对的问题,你可以把数据库从本地导出,再导入到云端,然后部署代码即可。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题