Giriş

Bu bölümde uygulamaya kalıcı veri depolama özelliği kazandırmak için veritabanı entegrasyonu ele alınacak. Flask-SQLAlchemy ile ORM kullanımı ve Flask-Migrate ile veritabanı şeması değişikliklerinin yönetimi öğrenilecek.


Flask'ta Veritabanları

Flask, veritabanı desteğini yerleşik olarak sunmaz; bu bilinçli bir tasarım tercihidir. Bu eğitimde ilişkisel veritabanı kullanılacak.

İki eklenti kullanılacak:

Kurulum

(venv) $ pip install flask-sqlalchemy
(venv) $ pip install flask-migrate

Flask-SQLAlchemy Yapılandırması

Geliştirme ortamında dosya tabanlı ve sunucu gerektirmeyen SQLite kullanılacak.

config.py Dosyasını Güncelle

import os
basedir = os.path.abspath(os.path.dirname(__file__))

class Config:
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'you-will-never-guess'
    SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \\
        'sqlite:///' + os.path.join(basedir, 'app.db')

app/__init__.py Dosyasını Güncelle

from flask import Flask
from config import Config
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate

app = Flask(__name__)
app.config.from_object(Config)
db = SQLAlchemy(app)
migrate = Migrate(app, db)

from app import routes, models