Making Queries with SQLAlchemy¶
Overview¶
SignBridge uses SQLAlchemy queries throughout the application.
All queries go through the db.session object provided by Flask-SQLAlchemy.
Note
In order to work with queries, you need to open Flask shell with the command flask shell
Import¶
import sqlalchemy as sa
from extensions import db
from app.models import User, Room, Message
To view all users¶
query = db.select(User)
users = db.session.scalars(query)
for u in users:
print(u.id, u.username, u.email)
Selecting Multiple Records¶
Get all users ordered by username:
users = User.query.order_by(User.username).all()
print (users)
Get all rooms:
rooms = db.session.scalars(sa.select(Room)).all()
print (rooms)
Adding Records¶
Add a new user:
user = User(username="example_name", email="example_email")
user.set_password("signbridge123456789@") # Adhere to the password policy
db.session.add(user)
db.session.commit()
Add an admin user:
user = User(username="example_name", email="example_email", is_admin=True)
user.set_password("signbridge123456789@") # Adhere to the password policy
db.session.add(user)
db.session.commit()