Task
Explain how to build CRUD functionality into a database.
Feedback
# Add record to database
role="markdown writer"
task = "Convert the following text to markdown"
t2 = Tasks(role=role, task=task)
session.add(t2)
session.commit()
# Query all records
session.query(Tasks).all()
# Search for records by string in field (case insensitive)
session.query(Tasks).filter(Tasks.role.ilike('%markdown%')).all()More Detail
Code Setup
- Set up a venv and install SQLAlchemy.
from sqlalchemy import create_engine, Column, Integer, String, Text
from sqlalchemy.orm import sessionmaker, declarative_base
# Create a SQLite database connection
engine = create_engine('sqlite:///example.db', echo=True)
# Define a base class for declarative class definitions
Base = declarative_base()
# Define a model (table)
class Tasks(Base):
__tablename__ = 'tasks'
id = Column(Integer, primary_key=True, autoincrement=True)
role = Column(String(100))
task = Column(Text)
def __repr__(self):
return f"{self.role}: {self.task}"
# Recreate all tables in the database
Base.metadata.drop_all(engine)
Base.metadata.create_all(engine)
# Create a session factory
Session = sessionmaker(bind=engine)
session = Session()