我的models.py.中有一些带有CharFields的模型
例如
class MyModel(models.Model):
item_port = models.CharField(max_length=50)`
我意识到这对一个端口来说有点愚蠢,并将它们全部更改为IntegerFields,如下所示:
class MyModel(models.Model):
item_port = models.IntegerField(null=True)
我在本地开发系统中使用sqlite3,并使用MySQL类型的数据库进行部署。通常,当使用从头开始部署时,我会为新的docker实例制造迁移
python manage.py makemigrations
和python manage.py migrate
不过,我也用git记录了对sqlite3db的所有迁移,以供参考。
我的主要问题是,我可以简单地用数据库中的现有数据(客户端站点上的数据将是MySQL类型的数据库)进行makemigrations/migration从CharField迁移到IntegerField吗?或者我需要手动做这样的操作吗?:
https://docs.djangoproject.com/en/1.9/topics/migrations/#data-迁移
非常感谢。
如果您注意到item_port
应该是IntergerField
而不是CharField
,则可以运行
./manage.py schemamigration myapp --auto --update
参考南方文件高级命令和数据迁移
希望这将有所帮助:)