2016-08-20 15 views
0

Djangoのドキュメントを検索しましたが、Djangoのmakemigrationsおよびmigrateコマンドで生成されたsqlにコメントを追加することについての情報が見つかりません。マイグレーションのコメントを含むcreate table sqlを生成

このようにSQLを生成する方法はありますか。私の大学は、自分のコードを読まずにSHOW CREATE TABLEの構文を使って、フィールドが意味するものを知ることができると主張しているからです。 彼は同じデータベースからデータを読み込むだけの別のプロジェクトに取り組んでいます。私はちょうど方法を探しています

CREATE TABLE `gateway_order` (
    `id` int(11) NOT NULL AUTO_INCREMENT, /* Order id */ 
    `updated_datetime` datetime NOT NULL, /* Latest update time of order */ 
    `created_datetime` datetime NOT NULL, /* Created time of order */ 
    `product_name` varchar(255) NOT NULL, 
    `description` varchar(255) DEFAULT NULL, 
    `user_id` int(11) DEFAULT NULL, 
    PRIMARY KEY (`id`), 
) ENGINE=InnoDB AUTO_INCREMENT=34848 DEFAULT CHARSET=utf8; 

答えて

0

はジャンゴで、そのようなことを行うが、Djangoはなかったと、この機能を持っていません。参照:https://code.djangoproject.com/ticket/13867

はそうちょうど出力に、次のコマンドを使用します。 Djangoによって生成されたSQL。

python manage.py sqlmigrate app 0001 > app001.sql 

そして次、app001.sqlは、次のようなSQL文にコメントを追加、編集:

CREATE TABLE `gateway_order` (
    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT "Order id", 
    `updated_datetime` datetime NOT NULL COMMENT "Latest update time of order", 
    `created_datetime` datetime NOT NULL COMMENT "Created time of order", 
    `product_name` varchar(255) NOT NULL, 
    `description` varchar(255) DEFAULT NULL, 
    `user_id` int(11) DEFAULT NULL, 
    PRIMARY KEY (`id`), 
) ENGINE=InnoDB AUTO_INCREMENT=34848 DEFAULT CHARSET=utf8; 

次に、あなたのデータベースにSQLをインポートします。

mysql -h127.0.0.1 -uroot -p --database yourdb < app001.sql 

と語ったジャンゴに

python manage.py migrate app --fake 

を実行するには、あなたはすでにデータベース内にSQLを作成しました。

もっと良い方法が見つかったら、教えてください。

関連する問題