django-pyodbc-azure - 如何使用模式
django-pyodbc-azure - How to use schemas
我正在使用 django-pyodbc-azure (https://github.com/michiya/django-pyodbc-azure),一切正常。但是,当我迁移模型时,会在 SQL 服务器数据库上创建一个名为 'dbo' 的新模式。我想使用现有的 'sp' 模式,有什么方法可以设置工作模式吗?
提前致谢。
IIRC,您需要更改您正在连接的用户的默认架构。如果您使用的是名为 django_user
:
的 SQL Auth 用户
ALTER USER django_user WITH DEFAULT_SCHEMA = [sp]
祝你好运。
定义一个模型的Metaclass下的db_table如下:
db_table = "[your_schema].[your_table]"
我发现许多答案似乎不再有效。相反,我使用找到的说明 here 在定义 db_table
时设置模式,例如 schema].[table
。不要打开那些方括号;重要的一点是架构和 table 名称之间的 ].[
。
对于您的情况,您需要设置:
class Meta:
managed = False
db_table = 'sp].[tablename'
我正在使用 django-pyodbc-azure (https://github.com/michiya/django-pyodbc-azure),一切正常。但是,当我迁移模型时,会在 SQL 服务器数据库上创建一个名为 'dbo' 的新模式。我想使用现有的 'sp' 模式,有什么方法可以设置工作模式吗?
提前致谢。
IIRC,您需要更改您正在连接的用户的默认架构。如果您使用的是名为 django_user
:
ALTER USER django_user WITH DEFAULT_SCHEMA = [sp]
祝你好运。
定义一个模型的Metaclass下的db_table如下:
db_table = "[your_schema].[your_table]"
我发现许多答案似乎不再有效。相反,我使用找到的说明 here 在定义 db_table
时设置模式,例如 schema].[table
。不要打开那些方括号;重要的一点是架构和 table 名称之间的 ].[
。
对于您的情况,您需要设置:
class Meta:
managed = False
db_table = 'sp].[tablename'