Skip to content

Setting up Flask-SQLAlchemy

Install

pip install Flask-SQLAlchemy
pip install Flask-SQLAlchemy

Minimal setup example

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
 
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///app.db"
 
# recommended: disable noisy signaling
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
 
db = SQLAlchemy(app)
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
 
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///app.db"
 
# recommended: disable noisy signaling
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
 
db = SQLAlchemy(app)

This creates a dbdb object that provides:

  • db.Modeldb.Model base class for models
  • db.sessiondb.session for transactions
  • typed columns like db.Columndb.Column, db.Stringdb.String, db.Integerdb.Integer

Where should db live in larger apps?

For scalable structure, youโ€™ll often do:

  • db = SQLAlchemy()db = SQLAlchemy() (no app yet)
  • later: db.init_app(app)db.init_app(app) inside an app factory

Weโ€™ll go deeper in the architecture phase (Blueprints + factory).

๐Ÿงช Try It Yourself

Exercise 1 โ€“ Create a Flask App

Exercise 2 โ€“ Dynamic Route

Exercise 3 โ€“ Return JSON

If this helped you, consider buying me a coffee โ˜•

Buy me a coffee

Was this page helpful?

Let us know how we did