2011-07-12 3 views
4

ダンピングや割り込みを避けたいと思う既存のdbを持つdjangoプロジェクトがあります。私は韓国をインストールしようとしていますが、私は私の最初の移行python manage.py migrate exampleを実行したときに、私は次のエラーを取得する:既存のデータベースにSouthをインストールする際に問題が発生しました。 MySqlはスキーマ変更ステートメントをサポートしていません

Running migrations for example: 
- Migrating forwards to 0001_initial. 
> example:0001_initial 
! Error found during real run of migration! Aborting. 

! Since you have a database that does not support running 
! schema-altering statements in transactions, we have had 
! to leave it in an interim state between migrations. 

! You *might* be able to recover with: = DROP TABLE `example_page` CASCADE; [] 
= DROP TABLE `example_likebydate` CASCADE; [] 
= DROP TABLE `example_followbydate` CASCADE; [] 

! The South developers regret this has happened, and would 
! like to gently persuade you to consider a slightly 
! easier-to-deal-with DBMS. 
! NOTE: The error which caused the migration to fail is further up. 
Traceback (most recent call last): 

... 

File "/usr/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler 
raise errorclass, errorvalue 
_mysql_exceptions.OperationalError: (1050, "Table 'example_page' already exists") 

だから、明白な解決策が与えられたSQLを実行することですが、私はそれが何をするか分からないし、それがテーブルを落としてデータを失うなら、それを実行したくありません。

このサウスマイグレーションをデータを失うことなく動作させるための私のオプションは何ですか?

答えて

8

0001_inital.pyの作成に使用したmodels.pyでスキーマが既に最新の場合は、--fakeを使用して初期移行を実行して、スキーマのバージョン0001 。

関連する問題