読者です 読者をやめる 読者になる 読者になる

sqlreset

Django

 django-admin.pyのsqlinitialdata, sqlresetコマンドと初期化SQLの使い方を覚えてから、かなり効率が上がってきました。
 初期化SQLを用意しておくと、syncdb, sqlinitialdata, sqlresetを実行した後に、それらのSQLを実行してくれます。テスト・データやマスター・データを書いておくと便利です。


 初期化SQLは、アプリケーション・ディレクトリの下にこんな感じでを配置します。



 命名規約は、「(モデル名の小文字).(データベース名).sql」です。ポータブルなSQLの場合は、「(モデル名の小文字).sql」でもOK。


 最も頻繁に行うのは、モデル定義を変更した後に、対応するテーブルを削除し、再生成するという手続きでしょう。sqliteの場合は、コマンドラインから次のように行えます。

$ python manage.py sqlreset | sqlite3 yourdatabase.db