プログラミング

flask db initで「No such command ‘db’」と出る原因がわからず困った【python】

Herokuのアドオン機能でデータベース「PostgreSQL」を使う時につまづいた点についてです。

無料で使用できる「Hobby Dev」というプランでデータベースを利用できるようになり、アプリケーションのファイルにPostgreSQL」を追加するところまでは問題なくできました。

つまづいたのはデータベースの初期化です。

「No such command ‘db’」のエラー表示

herokuの環境下でコマンドラインを実行。環境変数をセットして、データベースの初期化とマイグレーション用のファイルを作成しようとした時。

「flask db init」と打ち込むと、「No such command ‘db’」というエラー表示が出ました。

flask db init

ファイルの記述を見直したり、flask-migrateのインストールがちゃんとできているか確認してみたり、とにかく考えられる原因を順番につぶしてみましたが、なんどやっても「No such command ‘db’」と出てしまいます。

「requirements.txt」をチェック

herokuにアップしたアプリはエラーとなるので、ログを確認したところ、他のモジュールが見つからないというエラーを発見しました。

ローカルではちゃんと動いていたのでおかしいなと思い、「requirements.txt」をチェックしたところ、使うモジュールの記述がいくつか抜けていました。

使用するモジュールを記述したところ、データベースの初期化ができました。

flask db init

ちょっとしたことなのですが、原因がなかなかわからず、解決するのにかなり時間がかかってしまったのでメモとして残しておきます。

Leave a Comment