[英]Django: How to access test database?
我在Django 1.8工作。 我有一個Django管理命令來在我的數據庫上創建物化視圖,如下所示:
python manage.py create_db_matviews $DB_NAME $DB_USER $DB_PASS
現在我想從我的測試中運行管理命令,以便我可以測試命令。 (我的實際數據庫非常大,管理命令非常慢,所以我想測試數據而不是真實數據。)
但是,從我的測試文件中調用管理命令不起作用 - 不出所料,因為我不知道要使用哪些憑據:
def setUpModule():
management.call_command('loaddata', 'frontend/fixtures/mydata.json',
verbosity=0)
# load fixtures, then...
management.call_command('create_db_matviews',
'default', 'default', 'randomguess',
verbosity=0)
它失敗如下:
Creating test database for alias 'default' ('test_prescribing')...
... running migrations...
======================================================================
ERROR: setUpModule (frontend.tests.test_api_views)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/.../tests/test_api_views.py", line 23, in setUpModule
verbosity=0)
File "/Users/.../.virtualenvs/openprescribing/lib/python2.7/site-packages/django/core/management/__init__.py", line 115, in call_command
return klass.execute(*args, **defaults)
File "/Users/.../.virtualenvs/openprescribing/lib/python2.7/site-packages/django/core/management/base.py", line 338, in execute
output = self.handle(*args, **options)
File "/Users/.../frontend/management/commands/create_indexes_and_matviews.py", line 19, in handle
password=db_pass)
File "/Users/.../.virtualenvs/openprescribing/lib/python2.7/site-packages/psycopg2/__init__.py", line 164, in connect
conn = _connect(dsn, connection_factory=connection_factory, async=async)
OperationalError: FATAL: role "default" does not exist
我應該使用哪些憑據來訪問測試數據庫?
Django文檔的這一部分有詳細信息。
基本上,測試數據庫的名稱是根據您的設置文件,但有test_
前綴,用戶和密碼作為您的設置文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.