Skip to content

Setting up Flask-SQLAlchemy

Install

bash
pip install Flask-SQLAlchemy
bash
pip install Flask-SQLAlchemy

Minimal setup example

python
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)
python
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