Django+sqlite3でモデル定義を変えた場合

モデルの定義にフィールドを追加する場合はnull=Trueにしないと、SQLiteのALTER TABLE でカラムの追加ができない。

address_3= models.CharField(max_length=16, null=True)

モデル定義変更後のスキーマをDjangoから吐き出してみる。

python manage.py sql アプリケーション名

該当するテーブルの追加されたフィールドに関する定義をメモする。

sqliteからALTER TABLEをする。

sqlite3 データベース名
>ALTER TABLE テーブル名 ADD COLUMN フィールド定義;
必要なだけ繰り返し
>.exit

念のためsyncdbをする。

python manage.py syncdb

mod_pythonでデプロイしている場合は再起動。


コメントを残す

メールアドレスが公開されることはありません。

+ 74 = 82