django - 在 django 中删除迁移
问题描述
如何删除迁移在 django 1.11 我试图删除模型中的特定字段并再次进行迁移,但它仍然显示我有 3 个未应用的迁移我该如何处理?
解决方案
选项 1:删除新创建的迁移并恢复到特定的迁移
- 恢复您已经完成的模型/文件中的更改。
在应用程序的“迁移”文件夹下,找到要返回的迁移。运行“python manage.py migrate your_app_name name_of_migration_file”。这将使您回到您选择的任何迁移。
示例:如果我想回到第四次迁移,我会这样做:“python manage.py migrate myapp 0004_auto_20180701_1748”。向后迁移后,删除它之后的所有迁移。对我来说,我会删除任何 0005 或更高版本的文件。
运行“python manage.py makemigrations”,然后运行“python manage.py migrate”。
选项 2:删除所有迁移并重置数据库中的每个字段
这将擦除所有数据库数据,因此我不建议每次都这样做。但是如果你把所有东西都搞砸了,它会很有用,因为它会清理每个字段并迁移你当前在模型文件中拥有的所有字段。
- 像往常一样进行任何更改
- 删除应用程序中“迁移”文件夹中的每个文件,除了init .py
- 运行“python manage.py makemigrations”,然后运行“python manage.py migrate”。
从这里借来的答案:django revert last migration
推荐阅读
- python - TypeError:“str”对象不可用于用户输入
- javascript - 打字稿 | '{ username: string; 类型的参数 密码:字符串;}' 不可分配给“字符串”类型的参数
- python - 如何使用机器学习从扫描的文档中提取指定的片段
- fluentd - 使用 fluentd 和 elasticsearch 进行实时数据同步
- java - 如何使用字符串变量作为键来获取 JsonNode 值?
- node.js - 通过使用字符串作为任何数组中的第一个对象将数组分成对象来更新文档
- flutter - 请求多个 API 并在 SQLITE 上存储多个表的最佳方式
- api - 如何在jmeter中将值从一个http请求传递给另一个http请求
- android - 是否可以创建同一对象的不同实例并通过将参数传递给 Koin 中的 get() 函数来访问它们?
- java - Maven项目未在父级中构建