2015-10-16 76 views
2

Django 1.8中如何分離生產和開發數據庫?Django 1.8生產和開發數據庫1.8

現在我正在使用相同的數據庫爲開發和生產的天真的方式。部署時,開發數據庫將被複制到生產環境(SQLite)。

在Django 1.8中做這件事的正確方法是什麼?另外,如何更新生產表而不丟失先前的數據?

回答

2

那麼,首先,我真的建議你不要在生產中使用sqlite。如果你堅持,我會做的是在項目結構之外複製sqlite文件,並使用其他設置文件僅用於實況,如settings_live.py並用正確的路徑覆蓋DATABASES設置:

from myproject.settings import * 

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', 
     'NAME': ..., # the correct path file name here 
    } 
} 

確保您在生產環境中指定了正確的設置文件。例如,對於WSGI:

os.environ.setdefault('DJANGO_SETTINGS_MODULE', wsgi_app + '.settings_live') 
1

更新

濱海邁樂已經寫在dual environment setup 「東西」 徹底的文章。


在我的設置中,我有2個或3個不同的virtualenvs

我也有一個主要的settings.py與基本參數和不同的設置,從主繼承和迎合每個virtualenv。

該想法被描述爲herehere

在我.virtualenvs/bin/activate文件I路徑追加到相關的設置文件:

DJANGO_SETTINGS_MODULE=air.settings.settingst 
export DJANGO_SETTINGS_MODULE 

這樣一來,我有同一項目的每個環境一個單獨的數據庫。