0

SouthとMySQLで抱えていたすべての問題のために、MySQLからPostgresに切り替えるプロセスを進めていますが、このプロセスを実行することすらできません。

現在、私のデータベースは混乱状態にあります。main / models.pyに、データベースに列がない追加のフィールドがあるため、Southを使用してそれらを移行しようとしていますが、エラーが発生します。

これが私がやろうとしたことです:

python2.7 manage.py dumpdata --indent=4 > dump.js

このエラーが発生します:

django.db.utils.DatabaseError: (1146, "Table 'kelp_goals.main_actionstep' doesn't exist")

actionstepがmains/models.pyにモデルとして存在するが、テーブルが実際にはデータベースに存在しないため、エラーが発生します。

actionstep列を作成するには、次のようにします。

python2.7 manage.py schemamigration main --auto
python2.7 manage.py migrate main

次に、次のエラーが発生します。

_mysql_exceptions.OperationalError: (1050, "Table 'main_goal' already exists")

これらの問題を解決するにはどうすればよいですか?

4

1 に答える 1

1

モデル/データベースが調和するまで、手動でデータベースを変更する (またはモデルからフィールドを削除する) ことをお勧めします。その後、South の使用を開始できます。

いずれにせよ、別のデータベース エンジンへの転送を開始する前に、データ/テーブルをクリーンアップする必要があります。

于 2012-08-04T21:21:50.513 に答える