2017-05-01 15 views
0

我在本地完美運行Django python應用程序,但當我將其部署到Google App Engine中時,我迷失了方向。 事實上,在當地,我用來運行如何在Google App Engine標準環境(manage.py,...)中運行文件我的文件Django/python

python manage.py makemigrations 
python manage.py migrate 

,並在谷歌App Engine的我無法找到在谷歌殼牌這些文件。我使用BitBucket作爲回購和

gcloud app deploy 

部署代碼從回購BitBucket。

但是,當我進入雲端Shell時,找不到要運行遷移命令的文件。 我可以在本地結帳......但我做了,但它們不是「相同」文件...

在Cloud Storage中,我可以看到2個項目,但我可以在雲端Shell中找到它們。 hiking-164708.appspot.com staging.hiking-164708.appspot.com

,我要運行的遷移CMD,因爲我有我的/管理的問題,其他表工作...

所以我的問題: 我的manage.py文件在哪裏?

,這裏是我的app.yaml

runtime: python27 
api_version: 1 
threadsafe: true 

handlers: 
- url: /.* 
script: main.application 

libraries: 

- name: django 
version: "1.4" 
- name: MySQLdb 
version: "latest" 

env_variables: 
DJANGO_SETTINGS_MODULE: 'ghiking.settings' 

回答

0

我的理解是,你從連接到您的Cloud SQL執行您的開發機器上運行您的遷移。

1)擴展settings.py

elif os.getenv('SETTINGS_MODE') == 'prod': 
# Running in development, but want to access the Google Cloud SQL instance in production. 
DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.mysql', 
     'INSTANCE': 'cloud-sql-instance-ip-address', 
     'NAME': 'database-name', 
     'USER': 'root', 
     'PASSWORD': 'password', 
    } 
} 

2)運行遷移對雲SQL

* nix中 -

$ SETTINGS_MODE=prod python manage.py migrate 

的Windows

set SETTINGS_MODE=prod 
python manage.py migrate 

也請看到答案到How to run Django management commands against Google Cloud SQLSetting up your local environment

+0

是的,的確,重點是遠程使用數據庫與本地執行。 但在Windows上,定義變量和執行Python提供了一個錯誤,指出這不是理所當然的命令 我怎樣才能建立在SETTINGS_MODE變量在Windows? –

+0

@RémiDelpierre您應該能夠在命令提示符會話中使用set命令。我編輯了包含Windows的答案。 – alpeware

相關問題