我一直在本地开发Django应用程序,现在是时候将它部署到临时机了。
登台计算机上的My Postgres数据库具有与本地计算机不同的用户名和密码。
我在远程计算机上运行了Django应用程序,但数据库尚未初始化。
我认为我应该使用migrate
执行此操作,因此我尝试运行:
$ python manage.py migrate
但我看到以下错误:
django.db.utils.OperationalError: FATAL: no pg_hba.conf entry
for host "127.0.0.1", user "mylocalusername", database "mylocaldbname"
它失败了,因为它不允许我使用mylocalusername
登录。
我认为mylocalusername
等必须来自迁移文件?当然,本地用户名不会在登台计算机上的任何其他位置设置,无论是在我的设置文件中,还是在实际的数据库本身上。
如何在登台服务器上设置此数据库?
我想一种方法是删除migrations
中的所有内容并创建新的本地迁移。这是我需要做的吗?
我认为迁移应该检查源代码,所以我宁愿不删除所有这些。此外,我想继续在本地工作并更新我的升级和生产机器,所以我需要找到一种可持续的方式来做到这一点。
答案 0 :(得分:0)
"mylocalusername"
来自settings.py
文件。
看起来应该是这样的:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'mylocaldbname', # Or path to database file if using sqlite3.
# The following settings are not used with sqlite3:
'USER': 'mylocalusername',
'PASSWORD': 'password',
'HOST': 'localhost', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': '', # Set to empty string for default.
}
}
您可以在postgres数据库中更改它或创建有效用户。