ORM이 뭔지?
ORM ( object-relational-mapping )
즉, ORM의 사용목적,이유는 생산성에 있다.
sqlAlchemy
파이썬 커뮤니티에서 유명한 ORM 이다.
아래의 표는 orm이 web framework,connector,db에서 작동하는 방법을 보여준다
sqlAlchemy가 다양한 곳에서 쓰이는 것을 확인할 수 있다.
Example
- SQLAlchemy Engines
from sqlalchemy import create_engine
engine = create_engine('mysql+mysqldb://usr:pass@localhost/sqlalchemy')
- SQLAlchemy Data Types
class Product(Base):
__tablename__ = 'products'
id=Column(Integer, primary_key=True)
title=Column('title', String(32))
in_stock=Column('in_stock', Boolean)
quantity=Column('quantity', Integer)
price=Column('price', Numeric)
- SQLAlchemy Relationship Patterns
class Article(Base):
__tablename__ = 'articles'
id = Column(Integer, primary_key=True)
comments = relationship("Comment")
class Comment(Base):
__tablename__ = 'comments'
id = Column(Integer, primary_key=True)
article_id = Column(Integer, ForeignKey('articles.id'))
- Mapping Classes with SQLAlchemy
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
# create an engine
engine = create_engine('mysql+mysqldb://usr:pass@localhost/sqlalchemy')
# create a configured "Session" class
Session = sessionmaker(bind=engine)
Base = declarative_base()
참조
Comments