django框架主要用来做什么,django是前端还是后端
Django_migrate - fake FAKE:迁移回滚/重新执行某个迁移/伪回滚迁移(不执行相应的sql操作,只修改执行状态标志)_wx62995fa62530f _的技术博客
Django_migrate - fake FAKE:迁移回滚/重新执行某个迁移/伪回滚迁移(不执行对应的sql操作,只修改执行状态标志)
文章迁移-假:迁移回滚/重新执行某个迁移/伪回滚迁移(不执行对应的sql操作,只修改执行状态标志)模型重置细节步骤可能遇到的问题撤销上次成功迁移场景实例的回滚效果(当前迁移情况)
反向假冒练习迁移子命令手动假冒假冒-初始
Migrate -fake:迁移回滚/重新执行某个迁移/伪回滚迁移(不执行相应的sql操作,只修改执行状态标志)Python-回滚到Django中的上一次迁移-堆栈溢出
重置模型时可能遇到的问题
如果你的其他代码已经引用了需要重置的模型,那就有点棘手了,因为当你执行makemigrations的时候,你会检查每个代码的依赖关系是否正常。如果您简单地删除模型,可能会导致makemigrations的执行不完整。
这样就需要一步一步注释掉所有相关的代码,然后在模型重置后再还原(去屏蔽)这些代码。
可能的地方有(一起考虑DRF)
urls.pyserializer.pyviews.py
您可以注释所有这些文件,然后在模型重置后取消注释。
步骤使用python manager . py show migrations appname查看当前的迁移执行情况。在回滚之前,不要删除现有的迁移(回滚依赖于这些已经执行的文件来执行回滚命令。不建议使用别名(直接使用拼写命令行,确保manage.py可以正确接收所有参数)Python manage . py migrate appname 00 XXX(替换为您的目标迁移文件名代码重新使用showmigrations检查撤销,删除已撤销的migration.py文件并重新执行使用showmigrations检查撤销。现在迁移最新的模型代码,执行python manage . py make migrations appName和python manage.py migrate appName。如果全部成功,再次检查数据库(建议使用命令行以最及时、最准确的方式检查刚刚迁移的数据库)。
撤消上次成功的迁移。
场景实例(当前迁移情况)#检查迁移情况(当前应用(django app)是用户应用)
python manage.py显示迁移用户
[X]0013 _ alter _ wordsearchhistory _ spelling _ and _ more
[X] 0014_testforeignkey
[X] 0015_delete_wordstar
[X] 0016_wordstar
[X]0017 _ alter _ user _ sign更新
[X]0018 _用户_openid
[] 0019_alter_user_openid现在,要撤销上次成功的迁移(0018),我们需要做的是python manage.py migrate 0017,将指针移动到0017 Python Manage。PyMigrate用户0017类似git的代码版本控制回滚。
要执行的操作:
特定于目标的迁移:0017_alter_user_signupdate,来自用户
运行迁移:
呈现模型状态.完成的
未应用user.0018_user_openid.好
回滚效果可见一斑。django提醒我们0018的迁移操作被取消了[X] 0016_wordstar。
[X]0017 _ alter _ user _ sign更新
[]0018 _用户_开放id
[ ] 0019_alter_user_openid
反向fakefake的反向操作需要注意语法(参数选项的顺序),否则不行!
实际PS d: \ repos \ ela \ backend \ ela管理迁移scoreimprover 0001-fake
要执行的操作:
目标特定迁移:0001_initial,来自scoreImprover
运行迁移:
呈现模型状态.完成的
取消应用记分卡. 0002 _ alter _ cet 4 study _ wid _ alter _ cet 6 study _ wid.造假,可见0002年的迁移是假撤的。
PS D:\ repos \ ELA \后端\ ela pmg show migrations score improver
得分提高者
[X]0001 _初始
[]0002 _ alter _ cet 4 study _ wid _ alter _ cet 6 study _ wid
移动子命令手册PS D:\ repos \ ELA \后端ELA .\manage.py migrate - fake -h
用法:管理。py migrate[-h][-无输入][-DATABASE DATABASE][-fake][-fake-initial][-plan][-run-syncdb]
[ -检查] [ -版本] [-v {0,1,2,3}] [ -设置设置] [ - pythonpath PYTHONPATH]
[ -回溯] [ -无颜色] [ -强制颜色] [ -跳过检查]
[应用标签][迁移名称]
更新数据库架构。管理带迁移和不带迁移的应用。
位置参数:
app_label应用程序的标签,用于同步状态。
迁移名称数据库状态将恢复到迁移后的状态。使用名称"零"来
取消应用所有迁移。
选项:
救命啊显示此帮助消息并退出
-无输入,-无输入
告诉姜戈不要提示用户任何类型的输入。
-数据库数据库指定要同步的数据库。默认为"默认"数据库。
-将迁移标记为运行,但实际上并未运行。
-假的首字母检测表是否已经存在,如果存在,则假装应用初始迁移。查明
在使用此标志之前,当前数据库模式与您的初始迁移相匹配。姜戈
将只检查现有的表名。
-计划显示将要执行的迁移操作的列表。
- run-syncdb为没有迁移的应用程序创建表。
-如果存在未应用的迁移,请检查非零状态的出口。
-版本显示程序的版本号并退出。
-v {0,1,2,3},-详细程度{0,1,2,3}
详细级别;0=最小输出,1=正常输出,2=详细输出,3=非常详细
输出
-设置设置设置模块的计算机编程语言路径,例如myproject.settings.main .如果这不是
如果提供,将使用DJANGO _设置_模块环境变量。
- pythonpath PYTHONPATH
要添加到计算机编程语言路径的目录,例如/home/djangoprojects/myproject .
命令错误异常时回溯引发。
-没有颜色不要给命令输出着色。
-强制-颜色强制对命令输出进行着色。
-跳过检查跳过系统检查。
假假-首字母-假将迁移标记为运行,但实际上并没有运行它们。
-假的首字母检测表是否已经存在,如果存在,则假装应用初始迁移。查明
在使用此标志之前,当前数据库模式与您的初始迁移相匹配。姜戈
首先,清除迁移表:(清理迁移表,注意这里直接用的是迁移而非进行迁移)。/管理。py迁移-假应用程序-名称零
移除应用名称/迁移/文件夹或内容。进行迁移:/manage.py进行迁移应用程序名称
最后收拾一下(整理)您的迁移,而不进行其他数据库更改:/manage.py migrate - fake app-name
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。