モデル変更
適当にアプリを作っていると
modelの変更が頻繁に出てきます。
駄目人間の証ですね><
でも、そんな駄目人間にも優しいDjangoです。
後からカラム追加したり、ユニークにしたかったりインデックス貼りたかったりして
models.pyを変更した後、絶望にくれてませんか?
更にその後、
>python manage.py reset appName
とか打っちゃってadminにすらログインできなくなって
泣きそうになっていませんか?
俺は両方経験しました。
おっぱいマニア*1を目指す人間として軸がぶれている気がします><
さて、そんな時ですが、実は便利なコマンドがあります。
>python manage.py sqlreset appName | mysql -D dbName -u user -p
もちろん大事なデータが入っているときにはやってはいけませんが
作成途中の時はこんな感じでガンガン変えちゃってます。
簡単に説明すると
>python manage.py sqlreset appName
で、アプリのDROP TABLE文を作成してくれて
さらにCREATE TABLEしてくれるのです。
で、上の例ではそれをパイプというのを使ってmysqlコマンドに渡しているのですね♪
俺はこんなやり方をしているのですが
もしかしたらもっと良いやり方があるかもしれません><