15
SQLAlchemy and also alembic

Sqlalchemy lightning talk

Embed Size (px)

DESCRIPTION

This was a talk on SQL Alchemy and Alembic given by Nick MacInnis at San Diego Python on June 26, 2014.

Citation preview

Page 1: Sqlalchemy lightning talk

SQLAlchemyand also alembic

Page 2: Sqlalchemy lightning talk

what is it

Page 3: Sqlalchemy lightning talk

Core

ORM

Page 4: Sqlalchemy lightning talk

Core

Page 5: Sqlalchemy lightning talk

Flexible DB Tool

Core

so powerful

Page 6: Sqlalchemy lightning talk

users = Table('users', metadata, Column('id', Integer, Sequence('user_id_seq'),

primary_key=True), Column('name', String(50)))

ins = users.insert().values(name='jack')

Core Example

Page 7: Sqlalchemy lightning talk

work directly with sql etc

Page 8: Sqlalchemy lightning talk

ORM

Page 9: Sqlalchemy lightning talk

Data Mapping to Classes

ORM

so declarative

Page 10: Sqlalchemy lightning talk

class User(Base): __tablename__ = 'users'

id = Column(Integer, primary_key=True) name = Column(String)

ed_user = User(name='ed')session.add(ed_user)

ORM Example

Page 11: Sqlalchemy lightning talk

abstractions of database tables in domain objects

Page 12: Sqlalchemy lightning talk

some other things

Page 13: Sqlalchemy lightning talk

Unit of Work

different from Active Record

Page 14: Sqlalchemy lightning talk

user1 = User(name='user1')user2 = User(name='user2')session.add(user1)session.add(user2)

session.commit()

Unit of Work Example

Page 15: Sqlalchemy lightning talk

alembic

version your db, sort of