我对何时更改数据库中的表以匹配 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)