Database CRUD & Flask-Migrate
Flask-Migrate handles database schema transitions using Alembic, while SQLAlchemy enables you to perform standard CRUD operations using session execution blocks.
1 Performing CRUD Operations
Python — CRUD Actions
# Create new record
new_user = User(username="balaji", email="b@test.com")
db.session.add(new_user)
db.session.commit()
# Read query lookup
user = User.query.filter_by(username="balaji").first()
# Update record
user.email = "new_email@test.com"
db.session.commit()
# Delete record
db.session.delete(user)
db.session.commit()
2 Database Migrations Setup
Shell — Terminal Commands
# Initialize migrations folder
flask db init
# Generate migration script file
flask db migrate -m "Initial migration"
# Apply migrations to database
flask db upgrade
3 Code Challenge
Challenge: Write a database initialization script or route that adds 10 dummy posts to the database using a bulk insertion list, committing them at the end.