django-pyodbc-azure - Как использовать схемы

Я использую django-pyodbc-azure ( https://github.com/michiya/django-pyodbc-azure) и все работает нормально. Однако при переносе моделей в базе данных SQL Server создается новая схема с именем "dbo". Я хочу использовать уже существующую схему sp, есть ли способ установить рабочую схему?

Заранее спасибо.

2 ответа

Решение

IIRC, вам нужно изменить схему по умолчанию для пользователя, к которому вы подключаетесь. Если вы используете пользователя аутентификации SQL с именем django_user:

ALTER USER django_user WITH DEFAULT_SCHEMA = [sp]

Удачи.

Определите db_table для класса Meta одной модели следующим образом:

db_table = "[your_schema].[your_table]"

Я обнаружил, что некоторые ответы, похоже, больше не работают. Вместо этого я использую инструкции, найденные здесь чтобы установить схему при определенииdb_table как это идет schema].[table. Не открывайте эти квадратные скобки; важный бит - это].[ между схемой и именем таблицы.

В вашем случае вам нужно будет установить:

class Meta:
    managed = False
    db_table = 'sp].[tablename'
Другие вопросы по тегам