django部分数据表重置
django的数据表类很方便,但是修改起来可能会有问题, 比如我在models 类中间插入一个列字段, migrate后发现mysql中加到最后一列了.
如果我直接把数据库中的表删掉, 重新makemigrations和migrate是不会重新生成的. 清理migrations目录下的非__init__.py文件也是不行的
重置一个app的表
1、删除该app下相关数据表;
2、删除“django_migrations”表中字段“app”为目标app名称的所有行;
3、删除“auth_permission”表中目标app中所有model的权限(通常为“Can add XXX”、“Can change XXX”、“Can delete XXX”、“Can view XXX”);
4、删除“django_content_type”表中字段“app_label”为目标app名称的所有行;
5、删除该app目录下migrations文件夹中除“__init__.py”外所有py文件。
另外一种方法也是可以的,步骤少一点.
比如app是 checkmysql
1. 把django用的数据库中checkmysql*开头的表都删除掉.
2. 删除该checkmysql目录下migrations文件夹中除“__init__.py”外所有py文件。
3. 删除“django_migrations”表中字段“checkmysql”开头的所有行;
4. 重新makemigrations和migrate
网友评论