2016-02-14 12 views
5

पर अलेम्बिक माइग्रेशन चलाएं मेरे पास एक फ्लास्क ऐप है जो स्क्लाक्लेमी (फ्लास्क-स्क्लाक्लेमी) और अलेम्बिक (फ्लास्क-माइग्रेट) का उपयोग करता है। ऐप Google ऐप इंजन पर चलता है। मैं Google क्लाउड एसक्यूएल का उपयोग करना चाहता हूं।Google App Engine

मेरी मशीन पर, मैं अपने स्थानीय डेटाबेस के खिलाफ अपने माइग्रेशन चलाने के लिए python manage.py db upgrade चलाता हूं। चूंकि जीएई मनमाने ढंग से खोल कमांड चलाने की अनुमति नहीं देता है, इसलिए मैं माइग्रेशन कैसे चला सकता हूं?

उत्तर

1
1

आप Google क्लाउड एसक्यूएल उदाहरण के लिए अपनी स्थानीय मशीन के आईपी को श्वेतसूची में डाल सकते हैं, फिर आप अपनी स्थानीय मशीन पर स्क्रिप्ट चला सकते हैं।

+0

यह वास्तव में मैं क्या कर रहा था। हालांकि, SQL इंस्टेंस में IPV4 पता निर्दिष्ट करने के लिए $ 0.01/h = $ 7.2/mo खर्च होता है। यदि पता प्राप्त करने के लिए स्वचालित तरीका है, माइग्रेशन चला रहा है, और फिर इसे जारी कर रहा है, तो मैं एक खुश कैंपर – gberger

+0

होगा, आप gcloud sql उदाहरण पैच --assign-ip, gcloud sql उदाहरण पैच --no-असाइन कर सकते हैं एक आईपी पते असाइन/असाइन करने के लिए – Vadim

0

यह इतना आपने अपग्रेड का प्रभाव है जिसके साथ एक व्यवस्थापक समाप्ति बिंदु बना सकते हैं सब, बस कोड आप चला सकते हैं क्या है:

@app.route('/admin/dbupgrade') 
def dbupgrade(): 
    from flask_migrate import upgrade, Migrate 
    migrate = Migrate(app, db) 
    upgrade(directory=migrate.directory) 
    return 'migrated' 

(Dropwizard, उदाहरण के लिए, अच्छी तरह से इस तरह के व्यवस्थापक बातों के लिए tasks के माध्यम से पूरा करता है)