前提・実現したいこと
Python + Flask + sqlalchemy + sqlite を使用しWebアプリを作成しました。ローカル環境では問題なく動いたことを確認し、Herokuで公開するため、sqliteからHeroku postgresへ移そうとしています。
まずsqliteのままHerokuへデプロイするとデータベースにかかるところ以外は問題ありませんでした。Pythonでのデータベースの記述がわかりません。Herokuではアプリにデータベース設定は実施しており、テーブルの作成は可能の状態になっています。
発生している問題・エラーメッセージ
Herokuのデータベース(Postgres)に接続できない。当然ながらheroku run pythonにて、PythonコードにClassとして記載しているテーブル設定を一括で作成するためfrom app import db / db.create_all()はできません。
WebアプリOpen時のメッセージ Application error An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details. You can do this from the Heroku CLI with the command db.create_all()時のメッセージ sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:postgres
該当のソースコード
Python
1app = Flask(__name__) 2app.config['SQLALCHEMY_DATABASE_URI'] = 'postgres://~'(← 'postgres~' Herokuで得られるURI) 3db = SQLAlchemy(app)
試したこと
右式を os.environ[]で囲んでみましたがダメでした。
SQLALCHEMY_DATABASE_URI = os.environ.get('SQLALCHEMY_DATABASE_URI') or 'postgres://~'
と書いてみましたがダメでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/27 11:19