Saif Ali
Saif Ali

Reputation: 427

How to connect remote mySQL db to flask app using SQLAlchemy?

I want to connect to online MySQL DB to the flask app I made, so I can get rid of localhost stuff.

I have this code

from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
import os
import uuid
from werkzeug.security import generate_password_hash , check_password_hash

app = Flask(__name__)

app.config['SECRET_KEY'] = 'thisissecret'
# app.config['SQLALCHEMY_DATABASE_URI'] = os.environ['sqlite:////Users/confuapplication/PycharmProjects/untitled/.db']
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://saifaliunity:[email protected]/saifaliunity$todo';
# app.config['SQLALCHEMY_DATABASE_URI'] = os.environ['DATABASE_URL']

db = SQLAlchemy(app)

So well this is what localhost environment is, I have setup MySQL and python app online and want to set dbname, host, username, password to the flask app. But don't know how to do this.

After using the answer below this is the error log.

2019-02-26 10:16:54,896: Error running WSGI application
2019-02-26 10:16:54,900: ModuleNotFoundError: No module named 'flask_app'
2019-02-26 10:16:54,900:   File "/var/www/saifaliunity_pythonanywhere_com_wsgi.py", line 16, in <module>
2019-02-26 10:16:54,900:     from flask_app import app as application  # noqa
2019-02-26 10:16:54,901: ***************************************************
2019-02-26 10:16:54,901: If you're seeing an import error and don't know why,
2019-02-26 10:16:54,901: we have a dedicated help page to help you debug: 
2019-02-26 10:16:54,901: https://help.pythonanywhere.com/pages/DebuggingImportError/
2019-02-26 10:16:54,902: ***************************************************
2019-02-26 12:58:20,238: Error running WSGI application
2019-02-26 12:58:20,278: ModuleNotFoundError: No module named 'flask_app'
2019-02-26 12:58:20,279:   File "/var/www/saifaliunity_pythonanywhere_com_wsgi.py", line 16, in <module>
2019-02-26 12:58:20,279:     from flask_app import app as application  # noqa
2019-02-26 12:58:20,279: ***************************************************
2019-02-26 12:58:20,280: If you're seeing an import error and don't know why,
2019-02-26 12:58:20,280: we have a dedicated help page to help you debug: 
2019-02-26 12:58:20,280: https://help.pythonanywhere.com/pages/DebuggingImportError/
2019-02-26 12:58:20,280: ***************************************************
2019-02-26 12:58:21,842: Error running WSGI application
2019-02-26 12:58:21,843: ModuleNotFoundError: No module named 'flask_app'
2019-02-26 12:58:21,843:   File "/var/www/saifaliunity_pythonanywhere_com_wsgi.py", line 16, in <module>
2019-02-26 12:58:21,843:     from flask_app import app as application  # noqa
2019-02-26 12:58:21,844: ***************************************************
2019-02-26 12:58:21,844: If you're seeing an import error and don't know why,
2019-02-26 12:58:21,844: we have a dedicated help page to help you debug: 
2019-02-26 12:58:21,844: https://help.pythonanywhere.com/pages/DebuggingImportError/
2019-02-26 12:58:21,844: ***************************************************

Upvotes: 5

Views: 7436

Answers (1)

luxcem
luxcem

Reputation: 1854

The SQLALCHEMY_DATABASE_URI should be mysql://username:password@server/db, replace username, password, server and db with your values.

See the documentation for more details: http://flask-sqlalchemy.pocoo.org/2.3/config/

Upvotes: 6

Related Questions