manage.pyのsqlclearはDjangoのバージョン1.9で消えた
微妙にハマったので記事にします。
python manage.pyのsqlclearはDjangoのバージョン1.9で消えたというお話です。
manage.pyのsqlclearはDjangoのバージョン1.9で消えた
Djangoでmanage.pyの中にsqlclearというコマンドがありましたが、Djangoのバージョン1.9で消えました。
詳しくはこちらのDjangoドキュメントの1.9のリリースノートをご覧ください。
「sqlclear」という文字列で検索すればヒットします。
Django 1.9 release notes
sqlclearというコマンドが何だったかというと、アプリケーションを指定してアプリケーションが持つテーブルの中身をすべて消すSQLを発行するコマンドです。
例として、bookというアプリケーションがあり、models.pyに何かモデルを持っていた場合には「python manage.py sqlclear book | python manage.py dbshell」というコマンドを打つことでbookアプリケーションのmodels.pyに定義したモデルのテーブルすべてに対してDELETEのSQLを発行します。
では、Django1.9のバージョンアップによってmanage.pyのsqlclearが消えたことでmanage.pyのsqlclearと同じ操作をしたい場合はどうすれば良いかというと、単純にDBに接続して消したいテーブルのデータに対してDELETE文を発行すれば良いだけです。
「manage.py sqlclear appname」とするだけで対象のアプリケーションが持つDBのテーブルをすべて消してしまうので、バージョンアップによって消えてもおかしくなかったのかもしれません。
終わりに
今回はDjangoのmanage.pyのsqlclearはバージョン1.9で消えたということについてお話しさせていただきました。
逆にバージョン1.9より下のバージョンではsqlclearが使えるのでsqlclearが使いたい方はあえて低いバージョンを利用するという手もありかもしれません。
ただsqlclearのためだけにバージョンを落としてダウンロードする機会があることは考えにくいと思います。
ディスカッション
コメント一覧
まだ、コメントがありません