2013-06-19 28 views
0

我最近將我的postgresql數據庫遷移到遠程服務器。它曾經在我運行Django的同一臺機器上。我決定採取措施減輕機器的負擔。Django始終指向本地數據庫而不是遠程數據庫

但是我遇到了一些麻煩。我做了一個syncdb,並且這些表同步了遠程數據庫。我檢查了看錶是否確實同步,他們我們在那裏。在表格裏面沒有數據,我還沒有填充它們。但是,當我訪問Django管理頁面時,它以某種方式填充來自本地數據庫的舊數據。

我覺得這種行爲非常奇怪。我決定刪除本地數據庫,我得到以下錯誤:

FATAL: database "django_db" does not exist 

這很奇怪,因爲這些表都在遠程數據庫上。本地和遠程數據庫都稱爲django_db。這可能是問題嗎?

這是我在我的settings.py

DATABASES = { 
'default': { 
    'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 
    'NAME': 'django_db',      # Or path to database file if using sqlite3. 
    'USER': 'django_login',      # Not used with sqlite3. 
    'PASSWORD': 'password',     # Not used with sqlite3. 
    'HOST': 'XX.XXX.X.XX',      # Set to empty string for localhost. Not used with sqlite3. 
    'PORT': '5432',      # Set to empty string for default. Not used with sqlite3. 
}, 
} 
+0

你是怎麼告訴Django數據庫在哪裏的? –

+1

你能顯示你的數據庫設置嗎? – karthikr

+0

你的配置文件是什麼?你可以複製相應的部分,或更好地發佈整個文件,例如。在Gist上? –

回答

0

我想明白了,實際上我不得不重啓我正在開發的服務器。看起來,單獨重新啓動HTTP服務器不會完成這項工作。先前編譯的代碼,.pyc文件將一直存在,除非服務器重新啓動!

0

你需要更新你的settings.py文件指向新的數據庫。這由DATABASES字典控制。另外,作爲一個額外的小費,我會建議您更新系統,並使用dj_database_url

DATABASES = {'default': dj_database_url.config()} 

這將讓你的數據庫密碼進行版本控制的。然後您只需創建一個名爲DATABASE_URL的ENV VAR,其中包含用於新數據庫的信息。有關更多信息,請參閱文檔或Google。

相關問題