-
Notifications
You must be signed in to change notification settings - Fork 0
1.5.3 Database Management Menggunakan Flask SQLAlchemy
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-sqlalchemyUntuk menghubungkan Flask-SQLAlchemy dengan database server, dibutuhkan driver. Berikut ini cara install driver tersebut:
PyMySQL Cilent driver di Linux/Mac/Windows:
(env) $ pip install pymysqlMySQL Cilent driver di Linux/Mac/Windows:
(env) $ pip install mysqlclientDriver di Linux/Mac/Windows:
(env) $ pip install psycopg2String 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.
Referensi :
- Miguel Grinberg - Flask Web Development, Developing Web Applications with Python