我的models.py中有一些带有CharFields的模型。
e.g。
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中对我的sqlite3 db进行的所有迁移以供参考。
我的主要问题是,我可以简单地使用数据库中的现有数据(在客户端站点上将是一个MySQL类型数据库,或者我需要手动执行此类操作)从CharField到IntegerField进行makemigrations / migrate ?:
https://docs.djangoproject.com/en/1.9/topics/migrations/#data-migrations
非常感谢。
答案 0 :(得分:1)
如果您发现item_port
应该是IntergerField
而不是CharField
则可以运行
./manage.py schemamigration myapp --auto --update
请参阅南方文档Advanced Commands and Data Migrations
希望这会有所帮助:)