Django博客:同步mysql数据库中的表

由于django的项目不是新建的,之前执行过

python manage.py makemigrations

python manage.py migrate

的语句。

(1)所以当我再次在mysql数据库中建立新的数据库时,执行上面的两句时,并没有什么卵用!!!只建立了下面几个表格

| blog_blog |
| blog_blog_tag |
| blog_category |
| blog_comment |
| blog_tag |

(2)查阅了网上的资料,说删除app文件夹中的migrations中的所有文件,但是也只能在数据库中建立除了第(1)步中的数据表的表

+---------------------------------+
| Tables_in_myblog_master_v4_temp |
+---------------------------------+
| auth_group |
| auth_group_permissions |
| auth_permission |
| auth_user |
| auth_user_groups |
| auth_user_user_permissions |
| django_admin_log |
| django_content_type |
| django_migrations |
| django_session |
+---------------------------------+

由上面看得出,没有models.py中对应的表。

 

(2)因为上面执行python manage.py makemigrations时,没有检测到什么,所以我用了比较笨的方法,首先把models.py的每个字段名字都修改,执行一遍python manage.py makemigrations appname,再把models.py的每个字段的名字改回来自己需要的,再删除掉app中的migrations文件夹中的文件,执行一次python manage.py makemigrations apname和python manage.py migrate。之后mysql数据库中的表就都有了。

+---------------------------------+
| Tables_in_myblog_master_v4_temp |
+---------------------------------+
| auth_group |
| auth_group_permissions |
| auth_permission |
| auth_user |
| auth_user_groups |
| auth_user_user_permissions |
| blog_blog |
| blog_blog_tag |
| blog_category |
| blog_comment |
| blog_tag |
| django_admin_log |
| django_content_type |
| django_migrations |
| django_session |
+---------------------------------+

 

 

 如果需要导入已有的数据,应该先python manage.py migrate创建新的数据表,再导入已有的数据才行。如果顺序倒过来就会在python manage.py migrate时报错!!!

导入数据迁移的方法:

(1)从mysql数据库导出数据(在ubuntu命令行输入):mysqldump -uroot -p myblog_master_v4 > myblog.sql

(2)进入mysql数据库命令行,use 对应数据库

(3)source myblog.sql的路径

原因:

之所以会碰到这个问题,是一开始我的mysql数据库里面对应的数据库只有

| blog_blog |
| blog_blog_tag |
| blog_category |
| blog_comment |
| blog_tag |

这几个表,所以登录admin后台时就不成功(我是用apache服务器代替了开发服务器,登录网址为192.168.1.108/admin),只有换回开发服务器才能成功登录admin后台。所以我把对应app下的migrations文件夹中的文件全部删除了,但是就出现了上面的问题。

 

转载于:https://www.cnblogs.com/lijimmy/p/6361707.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值