创建后出现未知数据库错误(sqlalchemy)

时间:2015-07-22 23:16:11

标签: python mysql flask sqlalchemy

我在尝试运行Flask应用时遇到了下一个错误:

sqlalchemy.exc.OperationalError
OperationalError: (_mysql_exceptions.OperationalError) (1049, "Unknown database '/home/gerardo/Documentos/python_web_dev/flask-intro/app2.db'")

所以似乎没有数据库......但是我使用sqlalchemy_utils运行了下一个脚本,一切正常:

engine = create_engine("mysql://root:@localhost/home/gerardo/Documentos/python_web_dev/flask-intro/app2.db")

create_database(engine.url)

但我仍然收到错误..

1 个答案:

答案 0 :(得分:0)

你把MySQL(数据库服务器)与SQLite(文件中的数据库)混为一谈。你创建了一个SQLite文件,但是试图告诉MySQL连接到它,这没有任何意义。

在连接字符串中使用sqlite方言。

您可以通过指向相对于应用位置的文件来避免键入整个路径(并将应用程序绑定到该路径)。

import os
db_path = os.path.realpath(os.path.join(os.path.dirname(__file__), 'app2.db'))
engine = create_engine('sqlite://{}'.format(db_path))

考虑使用Flask-SQLAlchemy而不是尝试自己管理数据库。