Нежелательные квадратные скобки вставлены в оператор SQL из ORM - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь сделать простой выбор на моей таблице, сопоставленной с 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 голосов
/ 16 мая 2019

Я должен был указать имя схемы следующим образом:

__table_args__ = {"schema": "homework-3-cc-schema"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...