【问题标题】:Removing a Django migration after "makemigration" but before "migrate"在“makemigration”之后但在“migrate”之前删除 Django 迁移
【发布时间】:2020-05-04 10:08:25
【问题描述】:

对这个问题的基本性质表示歉意;我是 Django 的初学者。我不想弄乱我的应用程序的迁移结构。

我正在使用 Django 3.0.2。使用 Postgresql 数据库。

我的应用是“myapp”,到目前为止,myapp 已经成功迁移了几次。

然后今天我对现有模型进行了更多更改。

然后我在 Mac 终端中运行:

python manage.py makemigrations myapp

已创建迁移文件

Migrations for 'myapp':
 myapp/migrations/0007_auto_20200117_0814.py
  - Add field myfield to appTable

但是,在对此迁移运行“迁移”(即“0007_auto_20200117_0814.py”)之前,我发现我希望进行的模型更改方法出现错误,因此我想删除上述迁移 -换句话说,我不想在它上面运行“迁移”。我只是想让它……消失,因为没有更好的短语。然后我想对我的模型进行一些更改并重新运行“makemigrations”。

我搜索了一下,几乎所有关于“删除”迁移的答案似乎都假设“迁移”命令已经在迁移中运行。

我的问题是,如何在运行“makemigrations”命令之后但在“迁移”之前安全地删除迁移。我可以直接进入 myapp/migration 文件夹并删除不需要的迁移而没有任何不良副作用吗?

【问题讨论】:

    标签: django


    【解决方案1】:

    是的,您可以安全地删除未运行的迁移文件,而无需对数据库进行任何更改。除非您实际运行创建的迁移,否则它不会生成任何数据库更改。

    【讨论】:

      猜你喜欢
      • 2017-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-15
      • 2022-07-07
      • 2016-12-24
      • 2020-05-10
      • 1970-01-01
      相关资源
      最近更新 更多