2

我有一个带有一个数据库(默认)的 django 项目。South 被安装用于生成迁移脚本和作为测试框架的鼻子。模型建立在这个数据库上。所有测试都成功运行。

随后,我需要连接第二个数据库(旧的),我也将它添加到 DATABASES 配置中。我使用原始 sql 访问这个数据库,没有模型。在尝试运行之前运行的测试时,我注意到:

  1. 鼻子还为遗留数据库创建了一个测试数据库
  2. 默认 django 表(auth_...等)也在这个数据库中创建
  3. south 也针对遗留数据库运行所有迁移脚本,但未能这样做

我想要的是禁用测试遗留数据库的创建和迁移脚本的运行。理想情况下,我想自己通过发出原始 sql create-insert 语句在测试遗留数据库中创建表。那可能吗?

感谢您的任何帮助。

4

1 回答 1

0

您的阻力最小的路径可能是编写自己的测试运行管理命令。为此,您可以覆盖现有命令或简单地创建具有所需行为的单独命令。

创建自定义管理命令的文档可以在官方django 文档中找到,您可以在django-test-extensions项目中找到一个很好的覆盖股票“test”命令的示例。

于 2011-02-19T14:22:21.983 回答