Python 如何将芹菜工人连接到django测试数据库

Python 如何将芹菜工人连接到django测试数据库,python,django,oracle,celery,Python,Django,Oracle,Celery,我可以让我的芹菜工人进程与django测试数据库对话。 这是一个oracle数据库,所以我相信数据库/用户已经创建好了 我只是想弄清楚如何通过芹菜/应用程序配置,让它与“测试”数据库对话 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.oracle', ............. 'TEST': { 'USER': WIT_TEST_DB_USER,

我可以让我的芹菜工人进程与django测试数据库对话。 这是一个oracle数据库,所以我相信数据库/用户已经创建好了

我只是想弄清楚如何通过芹菜/应用程序配置,让它与“测试”数据库对话

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.oracle',
        .............
        'TEST': {
            'USER': WIT_TEST_DB_USER,
            'PASSWORD': WIT_TEST_DB_USER,
        }
    }
}
我看过一篇stackoverflow文章,其中讨论了如何将settings.conf从父测试setup()传递到工作进程。对于sqllite数据库,当自动生成测试数据库文件时,这可能是必需的

在我的例子中,它是一个定义良好的oracle测试数据库,我认为它已经是config/settings文件的一部分

因此,我正在寻找一种独立于testrunner/testcase代码直接启动工作流程的方法


有人能提出这样做的方法吗?

您将测试数据库视为普通数据库。因此,我认为最好的解决方案是将您的测试数据库定义为单独设置文件中
DATABASES
settings下的默认数据库。运行worker时,您可以将特定的新设置文件传递给worker,如下所示:

export DJANGO\u SETTINGS\u MODULE='[芹菜特定设置文件的python路径]'
#运行芹菜工人的命令

希望这对您有所帮助。。。。。这有芹菜工人代码与“默认”数据库,而不是测试数据库对话。测试数据库在运行django测试运行时由django testrunner代码创建/连接,并在测试结束时销毁。我想在测试运行程序中启动worker,在它们被创建之后,让它与测试数据库通信。我没有看到它和测试数据库对话。