Sing-2:hello Sing$ python3.5 manage.py makemigrations Migrations for'demo': 0001_initial.py: - Create model Student Sing-2:hello Sing$ python3.5 manage.py migrate Operations to perform: Apply all migrations: demo, admin, contenttypes, sessions, auth Running migrations: Rendering model states... DONE Applying demo.0001_initial... OK
如果一切正常的话此时数据库中已经存在了Student表:
1 2 3 4 5 6 7 8 9 10
mysql> show tables; +----------------------------+ | Tables_in_cms | +----------------------------+ | Student | | auth_group | | auth_group_permissions | ... +----------------------------+ 20 rows in set (0.00 sec)
在APP目录下有文件夹migrations,这个与我们生成数据库同步脚本的操作有关,网上建议删除,但是删除之后执行完不生成数据表,解决方法是:删除除__init__.py文件以外的文件即可。而有时候明明有修改,但是在执行同步数据库的时候会报没有改动(No migrations to apply.),解决方法为:找到数据表django_migrations,删除该app名字的所有记录,重新执行。注意:在非空数据的表中执行删除操作一定注意。