AlembicはSQLAlchemyの開発者が開発した、DBマイグレーションツール。RDBSのテーブルクラスの変更に合わせて、実テーブルの構造を更新(migration)してくれる。
遭遇したトラブル
私が遭遇したのは、接続先URI(driver+protocol:user password@destionation(IP):Portほげほげ)が指定したIPではないIPに変更されてしまう事例。
どうやら、localPCで、かつ、同じIPセグメントで割り当てられる。いや、おそらく人によって症状はかわるかもしれない。
- 例1: 192.168.99.99(サーバ) → 192.168.99.10(LocalPC)
原因
パスフレーズに%ら制御記号が含まれていた事。%らはPythonではシングルコーテーション('')でくくっていても他の言語(PHP?)と異なり、フレーズ内を解析/処理してしまう。
対処方法(Troubleshooting)
こうなったのもMySQL8はパスワードポリシーとしてパスフレーズに記号を含む事を要求する。pwgenで生成したうち%を含むパスフレーズをパスワードに選んでしまった事が原因。%や{}らを含まないパスフレーズを選ぶ事が解決策でしょう。言語によってこのあたりの事情は異なるので要注意だろう。