我正在使用postgres 10.5,python 3,flask和sqlalchemy。我正在尝试使用以下命令在users
表中创建一列
id = db.Column(db.Integer, db.Sequence('user_id_seq'), primary_key=True, autoincrement=True)
但是,当我运行此代码并创建用户时,出现错误:
error creating user (psycopg2.ProgrammingError) relation "user_id_seq" does not exist
如何以编程方式创建序列'user_id_seq'
?有什么方法可以检查它是否存在,如果不使用sqlalchemy,可以创建它
答案 0 :(得分:0)
在这种情况下,您将需要创建一个代码来启动银行。例如:
def upgrade():
op.execute("create sequence user_id_seq start with 1 increment by 1 nocache nocycle")
def downgrade():
op.execute(sa.schema.DropSequence(sa.Sequence("user_id_seq")))
答案 1 :(得分:0)
有趣的是,这最终导致以前定义数据库表的方式出现问题。我放下表格,运行代码,序列正确存在。