繁体   English   中英

如何在Django中将现有的CharField数据迁移到IntegerField

[英]How do I migrate existing CharField with data to IntegerField in Django

我的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)

我在我的本地开发系统和MySQL类型数据库中使用sqlite3进行部署。 通常,我使用以下方法从头开始部署时为新的docker实例制作迁移:

python manage.py makemigrationspython manage.py migrate

但是,我还记录了在git中对我的sqlite3 db进行的所有迁移以供参考。

我的主要问题是,我可以简单地使用数据库中的现有数据从CharField到IntegerField进行makemigrations / migrate(在客户端站点上将是MySQL类型数据库,还是我需要手动执行此类操作?)

https://docs.djangoproject.com/en/1.9/topics/migrations/#data-migrations

非常感谢。

如果您发现item_port应该是一个IntergerField不是CharField可以运行

./manage.py schemamigration myapp --auto --update

请参阅南文档高级命令和数据迁移

希望这会有所帮助:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM