【发布时间】:2021-04-30 08:07:55
【问题描述】:
我刚刚将一个烧瓶应用程序部署到 EC2 AWS,当尝试使用 db.create_all(bind=['layout']) 方法初始化一个 sqlite 数据库时,显示错误
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) unable to open database file
这是我的代码
application.config['SQLALCHEMY_DATABASE_URI'] = "postgresql://{}:{}@{}/{}".format(os.getenv('DB_USER'), os.getenv('DB_PASSWORD'), os.getenv('DB_SERVER'), os.getenv('DB_NAME'))
application.config['SQLALCHEMY_BINDS'] = {
'dashboard': "postgresql://{}:{}@{}/{}".format(os.getenv('DB_USER'), os.getenv('DB_PASSWORD'), os.getenv('DB_SERVER'), os.getenv('DB_NAME')),
'layout': "sqlite:///layout.db"
}
我在 ec2 终端的 python shell 中运行了 db.create_all(bind=['layout']),但我不知道为什么会遇到错误,因为它在我的本地主机上运行良好。
postgresql 数据库工作正常,可以正常访问,但是我尝试使用 db.create_all(bind=['layout']) 初始化的 sqlite 数据库导致上面显示的错误,我不知道为什么它不在当前目录中创建“layout.db”文件。
我是部署新手,不确定我是否做错了什么,如果我配置错误,请告诉我,谢谢!
【问题讨论】:
标签: amazon-web-services sqlite flask amazon-ec2