我有一个非常基本的水瓶/SqlAlchemy项目,这里有一条路线。
在路由中,我从用户模型中创建一个用户对象,但是当我调用该路由时,会得到以下错误
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such
table: user
[SQL: INSERT INTO user (email_address, password, first_name, last_name, created_on, updated_on) VALUES (?, ?, ?, ?, ?, ?)]
[parameters: ('jdoe@gmail.com', b'$2b$12$emg2oQcGeK0LEg5IFgie8eOEn2MJ/gKzyGWRPqOGJcQqlM1kCyskK', 'John', 'Doe', '2019-05-05 01:12:29.339788', '2019-05-05 01:12:29.339805')]
(Background on this error at: http://sqlalche.me/e/e3q8)在应用程序工厂create_app()函数中,我调用db.create_all()更新数据库并创建表,但它没有。其他具有类似问题的堆栈溢出问题说,错误的db引用正在被使用,但我不知道如何修复它,所以我使用的是正确的引用。
我已经搜索过堆栈溢出,但类似问题的答案并没有帮助我的用例/应用程序结构(如果可能的话,我希望保持原样)。
如果有人能看一眼我会很感激的。
发布于 2019-05-04 18:08:19
我从一篇文章中引用了一个例子:
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):宣布这门课。但是,这并没有将模型附加到数据库实例。更改类声明以扩展db.Model解决了这个问题。
https://stackoverflow.com/questions/55984882
复制相似问题