Skip to content

Instantly share code, notes, and snippets.

@azami
Created September 13, 2013 21:24
Show Gist options
  • Save azami/6556281 to your computer and use it in GitHub Desktop.
Save azami/6556281 to your computer and use it in GitHub Desktop.
SQLAlchemyのclassを動的に作成する。
classname = 'NewClass'
tablename = 'table'
session = scoped_session(sessionmaker(bind=engine))
classobj = Base._decl_class_registry.get(classname)
if classobj:
session.bind_table(classobj.__table__, engine)
return classobj
if tablename in Base.metadata.tables.keys():
Base.metadata.remove(Base.metadata.tables[tablename])
attrs = {'__tablename__': tablename}
NewClass = type(classname,
(NewTableSchema, Base), attrs)
session.bind_table(NewTableSchem.__table__, engine)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment