Django 测试想要访问主数据库 MS SQL 服务器
Django Test Wants Access To Master Database MS SQL Server
我有一个 运行ning Django 2 应用程序连接到 Microsoft SQL 服务器后端。
我们处在一个大环境中,那里的一切都受到非常严格的控制 - 一个用户帐户可以访问包含我的 Django 应用程序的所有表的数据库。
它不可以访问SQL服务器上的master
数据库以及可以访问master
数据库的任何请求 拥有该级别的访问权限可能会被拒绝。它可以在现有数据库中创建表,但不能创建全新的数据库。
当我 运行 应用程序测试时,我得到错误:
Got an error creating the test database: ('42000', "[42000] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]CREATE DATABASE permission denied in database 'master'. (262) (SQLExecDirectW)")
那么最好的做法是什么?有没有办法手动创建 'test database' 并让 Django 将其用于测试目的,这样它就不会在 运行 测试时尝试创建新数据库?
我们最终不得不指定一个不同的数据库(一个本地 SQLite 实例)来专门进行测试,因为 MS-SQL 服务器实例被锁定在每个用户的基础上,并且用户不允许更改 django 的权限。
它需要额外的设置和流程更改'以适应使用本地 SQLite,但是嘿,测试有效!
我有一个 运行ning Django 2 应用程序连接到 Microsoft SQL 服务器后端。
我们处在一个大环境中,那里的一切都受到非常严格的控制 - 一个用户帐户可以访问包含我的 Django 应用程序的所有表的数据库。
它不可以访问SQL服务器上的master
数据库以及可以访问master
数据库的任何请求 拥有该级别的访问权限可能会被拒绝。它可以在现有数据库中创建表,但不能创建全新的数据库。
当我 运行 应用程序测试时,我得到错误:
Got an error creating the test database: ('42000', "[42000] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]CREATE DATABASE permission denied in database 'master'. (262) (SQLExecDirectW)")
那么最好的做法是什么?有没有办法手动创建 'test database' 并让 Django 将其用于测试目的,这样它就不会在 运行 测试时尝试创建新数据库?
我们最终不得不指定一个不同的数据库(一个本地 SQLite 实例)来专门进行测试,因为 MS-SQL 服务器实例被锁定在每个用户的基础上,并且用户不允许更改 django 的权限。
它需要额外的设置和流程更改'以适应使用本地 SQLite,但是嘿,测试有效!