Yado_tech

旅館+ITとはなんぞ

sqlalchemyで新しいテーブル追加したい時

torina.top

sqlalchemyの手習いをしていた時に「新しくテーブル追加したくなった時はどーすんの?」て思った。

from sqlalchemy import Column,Integer,String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

Base = declarative_base()

class User(Base):
    __tablename__ = 'users'

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


if __name__ == "__main__":
    engine = create_engine('sqlite:///db.sqlite3',echo = True)
    Base.metadata.create_all(engine)

て作っててこれを実行してテーブルを作った後に 新しくTEMPってテーブル作りたくなったときは・・

from sqlalchemy import Column,Integer,String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

Base = declarative_base()

class User(Base):
    __tablename__ = 'users'

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

#ここから追加部分

class TEMP(Base):
    __tablename__ = 'tenperature'
    id = Column(Integer,primary_key = True)
    date = Column(String)
    temperature = Column(Integer)

#ここまで追加部分

if __name__ == "__main__":
    engine = create_engine('sqlite:///db.sqlite3',echo = True)
    Base.metadata.create_all(engine)

としてもう一度このスクリプトを実行すれば勝手に追加されてた。 sqlalchemy恐るべし