0
我對數據庫中表更改的時間與SQLAlchemy的聲明模型中定義的類對象相匹配感到困惑。SQLAlchemy表未在數據庫中反映出來
舉例來說,我有一個表commands
這些領域
Command.__table__
Table('commands', MetaData(bind=None), Column('id', Integer(), table=<commands>, primary_key=True, nullable=False), Column('user_id', Integer(), ForeignKey('users.id'), table=<commands>), Column('command_title', String(length=50), table=<commands>), Column('command_desc', String(length=100), table=<commands>), Column('time_added', DateTime(), table=<commands>), Column('time_updated', DateTime(), table=<commands>), Column('favorite', Boolean(), table=<commands>), schema=None)
然而,當我嘗試在我的數據庫中添加一個新行,SQL會抱怨。我認爲這是因爲我剛添加了列favorite
並且它尚未反映在數據庫中。
錯誤:
OperationalError: (OperationalError) table commands has no column named favorite u'INSERT INTO commands (user_id, command_title, command_desc, time_added, time_updated, favorite) VALUES (?, ?, ?, ?, ?, ?)' (2, u'HI', None, None, None, 1)
請描述您在哪裏以及如何添加新欄目?你是否更新了數據庫模式以反映這種變化? – vvladymyrov 2013-05-02 18:02:45
我有一個名爲models.py的文件,其中我有一個從Base繼承的類,並有一個類變量「favorite = Column(Boolean())」。這是您所指的模式還是您指的是實際數據庫中的模式,這可能不反映最新的模型? – user1431282 2013-05-02 18:33:40