django 重新创建删除的表

mbi*_*ren 5 python django orm

我手动删除了一个表,因为在更改模型时我犯了一个非常严重的错误。所以无论如何......我怎样才能重新创建它?我努力了 :

- Delete the migrate folder of that app
- delete from django_migrations where app='main'
- makemigrations main
- migrate main
Run Code Online (Sandbox Code Playgroud)

但它停在第一张桌子上。在那里:-(并且message在这种情况下我的表没有重新创建。在0001_initial.py我的表中有正确的条目

migrations.CreateModel(
        name='Message',
        fields=[
            ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
            ('created_at', models.DateTimeField(auto_now_add=True)),
            ('updated_at', models.DateTimeField(auto_now=True)),
            ('unread', models.BooleanField(default=True)),
            ('subject', models.CharField(max_length=120)),
            ('freetext', models.TextField(null=True)),
            ('from_user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='from_user', to=settings.AUTH_USER_MODEL)),
            ('to_user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='to_user', to=settings.AUTH_USER_MODEL)),
        ],
    ),
Run Code Online (Sandbox Code Playgroud)

有办法手动启动吗?

han*_*anz 2

下次回滚时:

  1. 进入应用程序中的迁移文件夹。

  2. 查找您想要返回到的迁移文件。(例如 0012_post_category.py)

  3. 在终端中写入: ./manage.py migrate yourAppName 0012 (这只是一个示例数字)并按 Enter 键

  4. 如果一切顺利的话。删除迁移文件夹中此编号之后的其他迁移。

不要只是删除迁移!希望有帮助。