Когда я запускаю приложение фляги локально, я могу нормально подключиться к MySQL RDS.Однако, когда я пытаюсь развернуть приложение, используя Elastic Beanstalk, я получаю «500 Internal Server Error».Я не знаю, помогает ли это или нет, но когда я использую локальный файл sqlite, мое приложение работает как задумано, как при локальном запуске, так и при развертывании с Elastic Beanstalk.
Я пытался работать с этой страницей, но я не заметил никакой разницы, когда я включил свойства среды.https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-rds.html#python-rds-create
Вот мой файл __init__.py.Я просто закомментирую тот URI базы данных, который не хочу использовать при тестировании.
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_bcrypt import Bcrypt
from flask_login import LoginManager
application = Flask(__name__)
application.config['SECRET_KEY'] = 'c4633b5a978d282104dbc44c32c9486'
application.config['SQLALCHEMY_DATABASE_URI'] =
'mysql+pymysql://<username>:<password>@garbagero.cuz5hqf0nh5m.us-east-
2.rds.amazonaws.com/ebdb'
#application.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
db = SQLAlchemy(application)
bcrypt = Bcrypt(application)
login_manager = LoginManager(application)
login_manager.login_view = 'login'
login_manager.login_message_category = 'info'
from garbageRO import routes
РЕДАКТИРОВАТЬ: Я наконец-то понял, что я случайно оставил 1 пакет из моего файла needs.txt.Я думал, что уже дважды проверил это перед публикацией, но, видимо, я не сделал.