Django south未应用数据库迁移

2024-05-01 08:05:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我对我的模型.py文件。。。我添加了另一个字段(fds_name):

from django.db import models

class funds(models.Model):
    fds_symbol  = models.CharField(max_length=5)
    fds_name  = models.CharField(max_length=128)

我运行了South schema migration命令,它检测到更改并进行了迁移:

^{pr2}$

但是,当我运行迁移时,它显示没有要迁移的内容,而且我可以看到数据库仍然缺少新字段。在

/var/www/finance/finance-env/bin/python3 manage.py migrate corefinance
Running migrations for corefinance:
- Nothing to migrate.
 - Loading initial data for corefinance.
Installed 0 object(s) from 0 fixture(s)

Tags: 文件djangonamefrompy模型formodels
2条回答

这可能是因为在 initial迁移和下一个模式迁移之间,您必须将实际迁移持久化到发出命令python manage.py migrate corefinance的数据库。在

在完成第一次迁移之后,您可以添加另一个字段,do和schemamigration auto,并通过执行python manage.py migrate corefinance再次将其提交给数据库

这个解决方案比dhana的答案更为复杂,但它确实有效。您可以通过数据库管理界面手动更改数据库架构,然后运行a fake migration。通过这样做,Django将认为schemamigration已经应用,并且所有必要的数据库更改都已经完成。在

相关问题 更多 >