我正在尝试对映射为sqlalchemy的表进行简单选择,但是我无法使其与确切的表名匹配。
我注意到,它的输出:
class Users(base):
__tablename__ = "users"
[...]
是
[Microsoft][SQL Server Native Client 11.0][SQL Server]Invalid object name 'users'
然后我尝试通过显式编写我要引用的数据库来修复错误
class Users(base):
__tablename__ = "[homework-3-cc-database].users"
[...]
给出输出:
[Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near ']'.
我注意到它插入了一些不需要的方括号。这是他们的SQL语句:
[SQL: SELECT TOP 1 [[homework-3-cc-database].users].user_id AS [[homework-3-cc-database].users_user_id]
FROM [[homework-3-cc-database].users]]
从DataGrip运行的此语句效果很好:
SELECT TOP 1 [homework-3-cc-schema].users.user_id
FROM [homework-3-cc-schema].users
关于如何解决此问题,您有任何建议吗?
答案 0 :(得分:0)
我必须通过以下方式指定架构名称:
__table_args__ = {"schema": "homework-3-cc-schema"}