【发布时间】:2011-06-06 17:40:04
【问题描述】:
DATABASES = {
# 'default': {
# 'ENGINE': 'postgresql_psycopg2',
# ...
# }
# for unit tests
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'mydatabase'
}
}
我有两个数据库:一个用于单元测试,一个用于其他所有方面。是否可以在 Django 1.2.4 中进行配置?
(我问的原因是因为使用 postgresql 我收到以下错误:
foo@bar:~/path/$ python manage.py test
Creating test database 'default'...
Got an error creating the test database: permission denied to create database
Type 'yes' if you would like to try deleting the test database 'test_baz', or 'no' to cancel: yes
Destroying old test database...
Got an error recreating the test database: database "test_baz" does not exist
为什么我会收到此错误?我想我真的不在乎我是否总是可以使用 SQLite 进行单元测试,因为它工作得很好。)
【问题讨论】:
-
你试过postgres用户是否真的有数据库创建权限?
-
那个postgres用户可以正常浏览网站,但我想我不确定它是否可以创建数据库。
-
就像@CarlesBarrobés 所说,您可能没有 CREAETE 权限。这直接来自 django 的文档:请注意,要使用此功能,Django 正在连接的数据库用户必须具有 CREATE DATABASE 权限。
标签: django unit-testing sqlite postgresql