2016-04-17 2 views
0

私は、ユーザー情報に加えて2つのファイル(受益権と請願書)で6つのモデルを持っています。いくつかの相互依存関係があります。モデルを変更したときに、何らかのエラーがありました。だから私は新たに出発することを考え、すべてのテーブルを削除したいと思っています。djangoでデータベースを新規に起動する方法。 Sqlflushとsqlclearは動作していないようです

sqlflushおよびSqlclear以下の結果を得ました。

Sqlflush結果は

BEGIN; 
DELETE FROM "django_admin_log"; 
DELETE FROM "auth_permission"; 
DELETE FROM "auth_group"; 
DELETE FROM "auth_group_permissions"; 
DELETE FROM "django_session"; 
DELETE FROM "auth_user_groups"; 
DELETE FROM "auth_user_user_permissions"; 
DELETE FROM "benef_beneficiary_information"; 
DELETE FROM "petition_employer"; 
DELETE FROM "petition_job"; 
DELETE FROM "nashvegas_migration"; 
DELETE FROM "benef_beneficiary"; 
DELETE FROM "auth_user"; 
DELETE FROM "benef_beneficiaryname"; 
DELETE FROM "petition_petition"; 
DELETE FROM "django_content_type"; 

COMMIT; 
Finished "C:\pyProjs\immiFile\manage.py sqlflush" execution. 

Sqlclear benef result is 

BEGIN; 
DROP TABLE "benef_beneficiary_information"; 
DROP TABLE "benef_beneficiary"; 
DROP TABLE "benef_beneficiaryname"; 

COMMIT; 
Finished "C:\pyProjs\immiFile\manage.py sqlclear benef" execution. 

sqlclear petition result is 
BEGIN; 
DROP TABLE "petition_petition"; 
DROP TABLE "petition_job"; 
DROP TABLE "petition_employer"; 

COMMIT; 
Finished "C:\pyProjs\immiFile\manage.py sqlclear petition" execution. 

である。しかし、その後、私はプロジェクトを実行し、管理者に行くとき、私はまだ古いテーブルを参照してください、私はそれらをクリックすると、フィールドに関連するエラーは、されたていますもともとモデルの変更によって引き起こされた。データは関係ありません

OperationalError at /admin/benef/beneficiary/ 
no such column: benef_beneficiary.last_edited_by_id 

私はもう一度始めたいと思います。解決策は何ですか?

私はdocumentationからジャンゴ1.8とPython 2.7

+0

**/manage.py makemigrations。 ./manage.py migrate **? – vmonteco

+0

同じ結果です。 – krishan

+0

djangoで一度クリアすると、SQLクライアントでデータベースを再度チェックしましたか? – e4c5

答えて

0

私はもう一度始めたい。解決策は何ですか?

(データを含む)すべて削除されます確実な方法は、:

  1. (あなたがrunserverを使用している場合、その停止を確認して、)アプリケーションをシャットダウンし
  2. からデータベースを削除します。データベースサーバー。 sqliteを使用している場合は、単にdbファイルを削除してください。
  3. すべてを削除するmigrationあなたのアプリの下に作成されたディレクトリ。あなたが使用しようとすると何
  4. タイプ./manage.py makemigrations
  5. タイプ./manage.py migrate
0

を使用しています:

sqlflush:flushコマンドのために実行されますSQL文を出力します。

となります。それはデータベースに触れません(同じことはsqlclearになります)。代わりに​​を使用する必要があります。

またflush上の文書から、この点に注意してください。

はどの 同期後ハンドラをデータベースからすべてのデータを削除し、再実行します。移行が に適用されたテーブルはクリアされません。

空のデータベースから開始し、すべての の移行を再実行する場合は、データベースを削除して再作成してから、代わりに migrateを実行する必要があります。

関連する問題