从ORM的SQL语句中插入不需要的方括号

时间:2019-05-16 14:13:42

标签: sql-server orm sqlalchemy

我正在尝试对映射为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

关于如何解决此问题,您有任何建议吗?

1 个答案:

答案 0 :(得分:0)

我必须通过以下方式指定架构名称:

__table_args__ = {"schema": "homework-3-cc-schema"}