Run Alembic Migrations On Google App Engine
I have a Flask app that uses SQLAlchemy (Flask-SQLAlchemy) and Alembic (Flask-Migrate). The app runs on Google App Engine. I want to use Google Cloud SQL. On my machine, I run pyt
Solution 1:
- Whitelist your local machine's IP: https://console.cloud.google.com/sql/instances/INSTANCENAME/access-control/authorization?project=PROJECTNAME
- Create an user: https://console.cloud.google.com/sql/instances/INSTANCENAME/access-control/users?project=PROJECTNAME
- Assign an external IP address to the instance: https://console.cloud.google.com/sql/instances/INSTANCENAME/access-control/ip?project=PROJECTNAME
- Use the following SQLAlchemy connection URI:
SQLALCHEMY_DATABASE_URI = 'mysql://user:pw@ip:3306/DBNAME'
- Remember to release the IP later as you are charged for every hour it's not used
Solution 2:
It's all just code you can run, so you can create an admin endpoint with which to effect an upgrade:
@app.route('/admin/dbupgrade')defdbupgrade():
from flask_migrate import upgrade, Migrate
migrate = Migrate(app, db)
upgrade(directory=migrate.directory)
return'migrated'
(Dropwizard, for instance, caters nicely for such admin things via tasks)
Post a Comment for "Run Alembic Migrations On Google App Engine"