1

アプリ「myapp」のDjangoモデルの名前を「Hotel」から「Client」に変更する必要があります。Southは使用したくありません。

次のようなクエリを使用してMySQLの変更を処理しても安全だと思いますか?

テーブルmyapp_hotelの名前をmyapp_clientに変更します。

テーブルmyapp_hotel_sitesの名前をmyapp_client_sitesに変更します。

現在のClientテーブルと外部キーの関係があるテーブルの場合:

ALTER TABLE myapp_client_sites CHANGE hotel_id client_id int(11);

それはそれと同じくらい簡単でしょうか、それとも私は何かが足りないのでしょうか?

4

1 に答える 1

0

テーブル名の変更はMYSQLでこのように行うことができますが、djangoコード内のクラス名も変更する必要があることを考慮に入れてください。それ以外の場合、ormはmysqlデータベーステーブル名にマップされません。

southのようなツールを使用すると、データベース内で必要な場所ですべてのコード変更が確実に行われます。

自動移行の作成:Southは、models.pyファイルの変更内容を確認し、変更に一致する移行を自動的に書き込むことができます。

于 2013-03-27T10:02:53.233 に答える