专栏目录
- 生成迁移文件: makemigrations
- 执行迁移文件: migrate
- 反向生成模型类: inspectdb
专栏详情
makemigrations
python manage.py makemigrations [APPName]
常用的生成迁移文件的命令,
在我们生成迁移文件的时候可以指定你注册的 APPName
来迁移指定的APP中 models.py
文件的ORM映射,
当然你可以忽略这个参数,
则会对注册的所有APP进行迁移文件生成,
你也可以使用下列命令参数进行其他修饰:
参数表达式 | 参数说明 |
---|---|
-h, --help | 获取帮助提示信息 |
--dry-run | 只显示将要进行的迁移信息, 不再写入migration文件夹中 |
--merge | 合并迁移冲突 |
--empty | 生成一个空迁移 |
--noinput, --no-input | 取消输入任何类型的提示 |
-n NAME, --name NAME | 指定迁移文件命名 |
--check | 如果模型更改缺少迁移, 则非零状态退出 |
--version | 获取版本号 |
-v {0,1,2,3}, --verbosity {0,1,2,3} | 日志输出状态 0:最小输出, 1:正常输出, 2:详细输出, 3:非常详细的输出 |
--settings SETTINGS | 设置Python模块路径, 否则将使用DJANGO_SETTINGS_MODULE环境变量 |
--pythonpath PYTHONPATH | 添加Python路径 |
--traceback | 迁移出错时引发CommandError进行回溯 |
--no-color | 取消命令行输出的信息进行颜色渲染 |
migrate
python manage.py migrate [AppName [MigrationNumber]]
常用的执行迁移文件的命令,
在生成迁移文件的时候我们可以对迁移文件进行数据表生成操作,
则是执行迁移文件,
你可以指定你注册的 APPName
来对最新生成的迁移文件进行执行生成操作,
你也可以忽略这个参数,
则是默认对注册的所有APP进行迁移文件执行操作。
当然你可以在指定APP的前提下对指定的迁移文件进行迁移文件执行: python manage.py migrate APPName 0001
,
迁移文件的名称默认以如同 0001
的四位数字开头命名方式,
所以在迁移指定文件的时候只需要你指定文件序号即可。
在执行迁移文件的时候遇到迁移失败的情况下,
用到最多的命令就是: python manage.py migrate --fake
来解决迁移问题,
你也可以使用下列命名参数进行其他修饰:
参数表达式 | 参数说明 |
---|---|
-h, --help | 获取帮助提示信息 |
--noinput, --no-input | 取消输入任何类型的提示 |
--database DATABASE | 指定需要同步的数据库 |
--fake | 重置或强制重新执行迁移 |
--fake-initial | 刚刚生成的迁移脚本标记为已经完成 |
--run-syncdb | 使用已有迁移创建表, 不再迁移 |
--version | 获取版本号 |
-v {0,1,2,3}, --verbosity {0,1,2,3} | 日志输出状态 0:最小输出, 1:正常输出, 2:详细输出, 3:非常详细的输出 |
--settings SETTINGS | 设置Python模块路径, 否则将使用DJANGO_SETTINGS_MODULE环境变量 |
--pythonpath PYTHONPATH | 添加Python路径 |
--traceback | 迁移出错时引发CommandError进行回溯 |
--no-color | 取消命令行输出的信息进行颜色渲染 |
inspectdb
python manage.py inspectdb [TableName] > model.py
常用的将已有数据表生成数据映射模型类的命令,
在有些情况我们需要对已有的数据库表进行进行数据ORM映射,
那么我们就需要对已有的SQL数据表进行数据迁移成Python的Class,
上面的命令则是说明你将指定的 TableName
进行PythonORM代码生成,
并将输出结果出入到 model.py
中,
你可以将生成的 class
复制到你关联的 APP
的 models.py
中进行调度使用,
你可以修改你的ClassName, 但我们不建议你修改 db_table
属性,
因为当你使用它的时候会有找不到你指定的 db_table
表名称错误,
你也可以使用下列命名参数进行其他修饰:
参数表达式 | 参数说明 |
---|---|
-h, --help | 获取帮助提示信息 |
--database DATABASE | 指定需要同步的数据库 |
--include-views | 输出数据模型的视图 |
--version | 获取版本号 |
-v {0,1,2,3}, --verbosity {0,1,2,3} | 日志输出状态 0:最小输出, 1:正常输出, 2:详细输出, 3:非常详细的输出 |
--settings SETTINGS | 设置Python模块路径, 否则将使用DJANGO_SETTINGS_MODULE环境变量 |
--pythonpath PYTHONPATH | 添加Python路径 |
--traceback | 迁移出错时引发CommandError进行回溯 |
--no-color | 取消命令行输出的信息进行颜色渲染 |