Rod*_*ent 5 python mysql migration sqlite django
我的models.py中有一些带有CharFields的模型。
例如
class MyModel(models.Model):
item_port = models.CharField(max_length=50)`
Run Code Online (Sandbox Code Playgroud)
我意识到这对于端口来说有点愚蠢,因此将它们全部更改为IntegerFields,如下所示:
class MyModel(models.Model):
item_port = models.IntegerField(null=True)
Run Code Online (Sandbox Code Playgroud)
我在本地开发系统和MySQL类型数据库中使用sqlite3进行部署。通常,使用以下命令从头进行部署时,我会为新的docker实例进行迁移:
python manage.py makemigrations
和
python manage.py migrate
但是,我还记录了在git中对sqlite3数据库所做的所有迁移,以供参考。
我的主要问题是,我是否可以简单地使用数据库中的现有数据从CharField进行makemigrations / migrate到IntegerField的迁移(在客户端站点上将是MySQL类型的数据库,还是我需要手动执行类似的操作?:
https://docs.djangoproject.com/zh-CN/1.9/topics/migrations/#data-migrations
非常感谢。
小智 1
如果你发现这item_port应该IntergerField不是 aCharField你可以运行
./manage.py schemamigration myapp --auto --update
Run Code Online (Sandbox Code Playgroud)
参考South文档高级命令和数据迁移
希望这会有所帮助:)