私は開発の初期段階にあり、モデルはかなり変化しています。
古いテーブルを削除し続けてから、「syncdb」を実行する必要があります
syncdb が古いテーブルを変更しない理由は理解できますが、
私は開発の初期段階にあり、モデルはかなり変化しています。
古いテーブルを削除し続けてから、「syncdb」を実行する必要があります
syncdb が古いテーブルを変更しない理由は理解できますが、
私が通常これを行う方法は、データベースレベルです。たとえば、postgres を使用していて、DB 全体を吹き飛ばして最初からやり直したい場合は、次のようにします。
dropdb -U postgres "dbname"
createdb -U postgres -O "db_user" "db_name"
私が取り組んでいる長いプロジェクトでは、fabfileを使用して上記のようなタスクを自動化したり、運用サーバーから最新のデータベースを取得したり、ローカルの開発データベースを上書きしたりしています。
また、関連するのはデータベースの「移行」です。これは、本番環境でしばらく実行した後にコードを変更するときに必要になります。多くの人/アプリがSouthを使用していますが、私は自分のサイトではNashvegasを好みます。
Nashvegas では、データベースを変更するための生の SQL コマンドを含む 0001_add_field_blah.sql ファイルを作成します。例えば:
ALTER TABLE myapp_model RENAME COLUMN first_name TO given_name;
私は使用しますpython manage.py reset <app>
。プロジェクト全体でそれを行う方法はないと思います。