针对测试数据库运行迁移

时间:2019-07-10 08:45:20

标签: python django migration

我不想在每个测试回合之前运行迁移,这就是为什么我使用--reusedb --nomigrations

运行测试的原因

我仍然需要一次设置数据库。为此,我这样做:

python manage.py migrate

如何告诉migrate以“测试”模式运行,以便使用正确的数据库(使用test_)?

1 个答案:

答案 0 :(得分:0)

Django测试运行程序会建立单独的数据库进行测试,该数据库是从settings.py中的数据库派生的。如果您单独设置测试数据库,则测试运行程序将使用它。

如果仍然需要在测试数据库中运行某些迁移,则可以使用带有migrate选项的--database命令。

python manage.py migrate --database test

您可以在测试用例中指定目标数据库:

class TestMyViews(TransactionTestCase):
    databases = {'default', 'other'}

    def test_index_page_view(self):
        call_some_test_code()

migrate command documentation

testcase with database documentation