【问题标题】:After Add New model.How to Django Table Migrate without losing data添加新模型后。如何在不丢失数据的情况下迁移 Django 表
【发布时间】:2020-06-07 03:53:19
【问题描述】:
class UserSubStatus(models.Model):
    msisdn = models.CharField(max_length=200)
    category = models.CharField(max_length=200, null=True, blank=True)
    validity = models.IntegerField(default=1,null=True,blank=True)
    sub_status = models.IntegerField(default=0)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    class Meta:
        ordering = ['-created_at']
        db_table = "user_sub_status"

我将此表添加到我的 model.py 文件中。如何在我的数据库中添加这个“user_sub_status”表而不丢失任何数据。

【问题讨论】:

  • makemigrate 命令然后migrate

标签: python django python-2.7 django-models django-rest-framework


【解决方案1】:

像以前一样运行 makemigrations 和迁移。如果您不删除以前的迁移文件,那么通过运行 makemigrations 新的迁移文件将添加到迁移文件夹中,并通过迁移新表或以前表的列将添加到您的数据库中,并且您存储的数据不会有问题

【讨论】:

    【解决方案2】:

    首先,您必须运行 makemigrations 命令,该命令负责根据您对模型所做的更改创建新的迁移。

    python manage.py makemigrations
    

    然后您必须运行一个迁移命令,该命令负责应用和取消应用由上述命令创建的迁移。

    python manage.py migrate
    

    在上述两个命令的帮助下,您的表“user_sub_status”将被添加到您的数据库中,而不会丢失数据库中的任何数据。

    【讨论】:

      【解决方案3】:

      亲爱的你好

      首先运行以下命令:

      python manage.py makemigrations your_app_name
      
      

      比运行这个命令:

      python manage.py migrate your_app_name
      
      

      注意:我希望将“user_sub_status”添加到您的数据库中而不会丢失数据。

      【讨论】:

        猜你喜欢
        • 2017-02-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-27
        • 1970-01-01
        • 1970-01-01
        • 2023-01-20
        相关资源
        最近更新 更多