2015-03-03 5 views
0

Я работаю над приложением Django локально, и настало время развернуть его на промежуточном компьютере.Django: аутентификация для миграции на нескольких компьютерах?

В моей базе данных 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

Выяснено: мне нужно было указать 'manage.py' явно в мой файл настроек настройки, например:' python manage.py migrate --settings = myapp.settings.staging' – Richard

ответ

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.