注意:这是我已经找到答案的问题,但想与他人分享,以便它可以帮助其他面临相同问题的人。
[我试图在多模式Postgresql数据库中执行某些alembic
操作,例如.add_column
或.alter_table
(尽管对于.create_table
或.drop_table
将是相同的问题)。例如:op.add_column('table_name', 'new_column_name')
但是,我遇到了同样的错误,基本上说找不到表名。据我了解,这是由于alembic
无法识别架构,而是在公共架构中搜索该表而引起的。然后,我尝试将table_name中的模式指定为'schema_name.table_name'
,但是没有运气。
我遇到了类似的问题Perform alembic upgrade in multiple schemas或Alembic support for multiple Postgres schemas,但没有找到满意的答案。
在将其搜索到alembic
documentation之后,我发现实际上存在用于不同操作的模式参数。例如:
op.add_column('table_name', 'column_name', schema='schema_name')