Django测试想要访问主数据库MS SQL Server

时间:2018-05-23 14:50:01

标签: sql-server django django-testing django-tests

我有一个运行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将其用于测试目的,因此在运行测试时不会尝试创建新数据库吗?

1 个答案:

答案 0 :(得分:0)

我们最终不得不指定一个不同的数据库(本地SQLite实例)进行测试,这是因为MS-SQL Server实例已按每个用户锁定,并且不允许更改django的用户权限

为了适应使用本地SQLite,需要额外的设置和过程更改”,但是,测试有效!