1.5.3 Database Management Menggunakan Flask SQLAlchemy - dvrg/flask-web-development GitHub Wiki

Flask-SQLAlchemy adalah ekstensi Flask yang menyederhanakan penggunaan SQLAlchemy di dalam aplikasi Flask. SQLAlchemy adalah kerangka kerja basis data relasional yang kuat yang mendukung beberapa backend basis data. Ini menawarkan ORM tingkat tinggi dan akses tingkat rendah ke fungsionalitas SQL database. Seperti kebanyakan extensi flask lainnya, Flask-SQLAlchemy di install melalui pip:

(env) $ pip install flask-sqlalchemy

Untuk menghubungkan Flask-SQLAlchemy dengan database server, dibutuhkan driver. Berikut ini cara install driver tersebut:

DBMS MySQL

PyMySQL Cilent driver di Linux/Mac/Windows:

(env) $ pip install pymysql

MySQL Cilent driver di Linux/Mac/Windows:

(env) $ pip install mysqlclient

DBMS Postgres

Driver di Linux/Mac/Windows:

(env) $ pip install psycopg2

String koneksi pada konfigurasi database :

Database Engine URL
MySQL - pymysql mysql+pymysql://username:password@hostname/database
MySQL - mysqlclient mysql://username:password@hostname/database
PostgreSQL postgresql://username:password@hostname/database
SQL (Linux, MacOS) sqlite:////absolute/path/to/database
SQL (Windows) sqlite:///c:/absolute/path/to/database

Cara konfigurasi Flask SQLAlchemy, buka app.py dan tambahkan kode ini:

# app.py: inisisalisasi dan koneksi
...
from wtforms.validators import DataRequired
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
moment = Moment(app)
db = SQLAlchemy(app)

app.config['SECRET_KEY'] = 'thisisverysecret'

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/nama-database'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
...

Objek db dipakai dari kelas SQLAlchemy mewakili database dan menyediakan akses ke semua fungsi Flask-SQLAlchemy.