之前的数据库设计的时候考虑不周全,将用户ID存成字符串,但实际的值是一个8位数字,现在想将其转成int类型,但涉及的外键比较多,查看了许多资料发现了用django快速生成转换用户ID类型的sql语句方法
- 修改模型类中CircleUser中user_id字段类型
user_id = models.AutoField(primary_key=True)
- 使用django命令生成迁移文件 ( 如果之前没有0001_initial.py文件需要在之前模型类基础上生成0001_initial.py文件,再执行该命令 )
python manage.py makemigrations app_name
- 生成sql语句
python manage.py sqlmigrate app_name 0003_auto_20190911_2036
最后跟的是项目app_name下面migrations文件夹中的最新生成的迁移文件去掉文件后缀。
- 去数据库中执行生成的sql语句
如果直接使用django的迁移命令migrate会报错