JEE*_*ND0 6 django django-south
在Django-South:我改变了我已成功为myapp运行初始迁移但出于某种原因,在我对模型进行了更改并转到
./manage.py schemamigration myapp --auto
./manage.py migrate myapp
Run Code Online (Sandbox Code Playgroud)
我得到了很多追溯结束:
(1050, "Table 'my_table' already exists")
Run Code Online (Sandbox Code Playgroud)
经过大量的谷歌搜索,我发现并尝试了这个:
./manage.py migrate myapp --fake
Run Code Online (Sandbox Code Playgroud)
然后我继续迁移它,但无济于事; 同样的错误.
有什么建议?
我刚刚得到同样的错误,并通过搜索找到了这个问题.
我的问题是我用--initial
标志创建的第二次迁移,即
$ ./manage.py startapp foo
$ ./manage.py schemamigration --initial foo
$ ./manage.py migrate foo
Run Code Online (Sandbox Code Playgroud)
...对foo做一些改变......
$ ./manage.py schemamigration --initial foo
Run Code Online (Sandbox Code Playgroud)
(哎呀!)
$ ./manage.py migrate foo
Run Code Online (Sandbox Code Playgroud)
...我收到错误,迁移失败,因为在第二次迁移中,South正在尝试创建已创建的表.
在我的迁移文件夹中:
$ ls foo/migrations
0001_initial.py 0002_initial.py
Run Code Online (Sandbox Code Playgroud)
删除第二次迁移并使用正确的--auto
标志重新导出第二次迁移:
$ rm foo/migrations/0002_initial.py
$ ./manage.py schemamigration --auto foo
$ ./manage.py migrate foo
Run Code Online (Sandbox Code Playgroud)
成功!
可能有其他事情导致此错误,但那是我的坏事!
归档时间: |
|
查看次数: |
5231 次 |
最近记录: |