我已经看到许多问题要求Ruby而不是DJango。我们有一个postgres数据库,并使用我们的postgres用户创建了一个表名Adam。当您psql -l
表出现时。但是,在尝试运行迁移时,我们会收到错误。
FATAL: database "/var/lib/pgsql/9.3/data/Adam" does not exist
psql -l
显示了这一点:
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------------+----------+----------+-------------+-------------+-----------------------
Adam | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
Django settings.py看起来像..
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': os.path.join('/var/lib/pgsql/9.3/data/', 'Adam'),
'USER': 'postgres',
'PASSWORD': 'correctlyTypePassword'
}
}
为什么它认为这不存在?
答案 0 :(得分:5)
您的数据库设置错误。键“Name”应该引用数据库名称而不是其路径。试试这个:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'Adam',
'USER': 'postgres',
'PASSWORD': 'correctlyTypePassword'
}
}