[英]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 makemigrations
和python 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.