はじめに
Alembicを使ってpythonにてDBの開発を行っていたときに、少しだけハマったエラーについて。
一旦DBを初期化しようとしても、エラーが出てしまう。
$ alembic downgrade base
container_name_1 | FAILED: Can't locate revision identified by '90b5e2f5aebf'
解決策
ちょっと調べてみると、解決方法は2つあった。
- DB上のバージョン管理ファイルを直接削除する
- Dockerのボリュームを削除する
1の方法も試みたが、うまくいかなかったので2の方法で無理やり解決した。
$ docker volume rm container_name_db-data
// 再度マイグレーションを実行
$alembic upgrade head
1の方法はこちらの記事を参考にさせてもらった。
![](https://i0.wp.com/qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?resize=160%2C90&ssl=1)
Flask: [root] Error: Can't locate revision identified by 'XXXXXXX' が出てしまい、migrateできないとき。 - Qiita
エラーの発生migration ファイルを消して再度flask db init -> flask db migrateした際、(flask_env) C:\Users\ryosu\Desktop…
原因
どうやらAlembicにてマイグレーションを作成した時点でのファイルを削除してしまっていた模様。
基本は一度downgradeしてから調整しないといけなさそうだった。
たしかに、Railsなどでもmigrationファイルを編集するとDBのロールバックなどは手こずる。
コメント