Djangoでsyncdbでデータベースを作成するときに自作のSQLを実行したい場合
Djangoを使っているときに、独自のSQLを流し込みたい場合があります。
そのようなときはpython manage.py syncdbのときに
次のようなディレクトリに配置したSQLを実行してくれます。
その配下にsqlというディレクトリを作成して、modelname(models.pyで定義したテーブル名)を
ファイルにつけて、sqlという拡張子で保存しておきます。
<appname>/sql/<modelname>.sql
Djangoはsyncdbでモデルを作成するときにここも実行してくれます。
ポイントは実際のモデル名が大文字を含んでいたとしても、配置するファイル名、パスは小文字を用いることです。
これで初期データを大量に投入したいときや、ストレージエンジンを変更する場合等も対応できます。