SQLAlchemy 선택 배경
Django 스터디를 하면서 프로젝트 들어가기 이전에 여러가지 관련 라이브러리를 찾다가 다른 스터디분의 “Mybatis 처럼 mapper 형식으로 DB를 사용할 수 있는 라이브러리가 있는가?” 라는 질문을 받고 이것저것 찾다보니 SQLAlchemy 를 찾게 되었다.
SQLAlchemy 는 주로 Flask와 연동해서 사용하는 경우가 많았는데 Flask 연동중에 예상치 못한 문제가 생겻고 아직까지 해결 못해서 Django와 연동해서 사용해볼까 한다.
공식 홈페이지 : http://www.sqlalchemy.org/
설치
1 2
| pip install sqlalchemy // sqlalchemy 설치 pip install mysqlclient // mysql 에 접속을 위해 필요하다.
|
버전확인
python 스크립트를 이용해서 설치가 되었는지 확인 가능하다
1 2
| import sqlalchemy print sqlalchemy.__version__
|
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| from sqlalchemy import create_engine from sqlalchemy import Column, Integer, Unicode, String from sqlalchemy.ext.declarative import declarative_base
name = "YourDBUserName" password = "YourDBPassword" host = "YourDBAddress" db = "ChooseDatabase"
re_str = 'mysql://' + name + ':' + \ password + '@' + host + '/' + db + ''
engine = create_engine(re_str, echo=True)
Base = declarative_base()
class Store(Base): __tablename__ = 'stores'
id = Column(Integer, primary_key=True) name = Column(Unicode(50), nullable=False) phone = Column(String(20))
Base.metadata.create_all(engine)
|
출처
pywebcookbook
SQLAlchemy-DB-Connection 설정방법