テーブルを作成する場合、当該テーブルが既に存在している場合は削除した上で作成する、といった分岐処理が必要になる。
SQLAlchemy は、drop および create 関数に checkfirst 属性を有しており、エラーの場合は、当該処理を実行しないようにすることができる。
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String
Base = declarative_base()
class TT_USER(Base):
__tablename__ = "TT_USER"
id = Column(Integer, primary_key = True)
name = Column(String(20))
if __name__ == '__main__':
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
mysql_db = create_engine(対象データベースへのURL)
TT_USER.__table__.drop(mysql_db. checkfirst = True)
TT_USER.__table__.create(mysql_db)
上記の場合、drop 時にテーブルが存在していない場合は、drop を実行しない。
0 件のコメント:
コメントを投稿