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.