|
|||||||
Reverse engeneering / получение метаданных из БД по таблицам / autoload
Время создания: 11.10.2017 19:21
Текстовые метки: mine
Раздел: SQLAlchemy - Queries
Запись: xintrea/mytetra_db_mcold/master/base/15077388681f2d75lc4n/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
1. создаем декларативные классы 2. создаем объект metadata 3. считываем из metadata данные по объявленным классам # -*- coding: UTF-8 -*- from sqlalchemy import create_engine, MetaData, Table from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base engine = create_engine('sqlite:///test.db', echo=True) Base = declarative_base(engine) class User(Base): __tablename__ = 'users' __table_args__ = {'autoload':True} class Address(Base): __tablename__ = 'addresses' __table_args__ = {'autoload':True} def loadSession(): MetaData = Base.metadata Session = sessionmaker(bind=engine) s = Session() return s, MetaData if __name__ == "__main__": s, m = loadSession() res = s.query(User).all() for i in range(len(res)): print(res[i].fullname) # print(res[1].name) for t in m.sorted_tables: print(t.name)
|
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|