当我尝试使用命令测试任何应用程序时(当我尝试使用使用此命令的结构来部署myproject时,我注意到了该应用程序):
python manage.py test appname
我收到此错误:
Creating test database for alias '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_finance', or 'no' to cancel
syncdb
命令似乎起作用。我在settings.py中的数据库设置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'finance', # Or path to database file if using sqlite3.
'USER': 'django', # Not used with sqlite3.
'PASSWORD': 'mydb123', # Not used with sqlite3.
'HOST': '127.0.0.1', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
Django运行测试套件时,在您的情况下,它将创建一个新数据库test_finance
。具有用户名的postgres用户django
没有创建数据库的权限,因此出现错误消息。
当您运行migrate
或时syncdb
,Django不会尝试创建finance
数据库,因此不会出现任何错误。
您可以通过以超级用户身份在postgres
shell中运行以下命令来向django用户添加createdb权限(此堆栈溢出答案的提示)。
=> ALTER USER django CREATEDB;
注意:ALTER USER <username> CREATEDB;
命令中使用的用户名需要与Django设置文件中的数据库用户匹配。在这种情况下,原始张贴者将用户作为django
上述答案。
我在测试方面有问题。这是我第一次写测试,我遇到了一个问题。 我刚刚在我的应用程序中创建了一个测试文件夹,并且用于测试URL。 当我键入: 它说: 创建别名默认的测试数据库...创建测试数据库时出错:数据库"database_name"已经存在 如果要尝试删除测试数据库“database_name”,请键入“yes”,或键入“no”取消: 这是什么意思?如果我输入yes会发生什么?我是否丢失了数据库
我对根用户、超级用户、用户和权限非常困惑!我无法在用户“athleticu”中创建数据库。以下是我使用的命令:- 请有人澄清我的疑问,告诉我该写什么!
我试图按照https://github.com/Heroku/python-getting-start上的说明为python开发建立一个Heroku环境。当我运行: > 首先提示我输入密码:我在postgres中输入了用户“postgres”的密码 收到一条错误消息: createdb数据库创建失败:错误:拒绝创建数据库的权限 不知道怎么解决这个问题。允许用户“postgres”创建数据库。我使用
我正在尝试创建一个新的JavaDB。我已经将Java DB驱动程序添加到库中,但在服务下创建新数据库时,它仍然会抛出一个错误。 我下载并定义了db-derby-10.15.2.0-bin 我在这里定义了drover文件 我在这里单击了创建数据库 填了这张表 点击om后显示如下 谁来帮帮我
我刚刚安装了SQL Server 2012 Express,并且正在运行一个C#程序,该程序试图使用以下命令在指定位置创建数据库: 这在程序和management studio中都失败了,错误如下: 我可以创建和删除数据库而不指定文件名,没有任何问题: