我有一个运行Django 2的应用程序连接到Microsoft SQL Server后端。
我们处在一个环境非常严格的环境中 - 用户帐户可以访问包含我的django应用程序所有表的数据库。
它无法访问SQL Server上的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)")
那么这个最好的行动方案是什么?有没有办法手动创建'测试数据库'并让Django将其用于测试目的,以便在运行测试时不尝试创建新的数据库?
我们最终必须指定一个不同的数据库(一个本地SQLite实例)进行特定的测试,因为MS-SQL Server实例基于每个用户被锁定,并且不允许更改django的用户权限。
它需要额外的设置和更改过程'以适应使用本地SQLite,但嘿,测试工作!