python-sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine('sqlite:///../static/db/test.db?check_same_thread=False', echo=True)
Base = declarative_base()
class Projects(declarative_base()):
__tablename__ = "projects"
projectname = Column(String(20))
projectid = Column(Integer, primary_key=True)
branch = Column(String(20), primary_key=True)
owner = Column(String(10))
def __repr__(self):
return f"<projects(projectname={self.projectname}, projectid={self.projectid}, branch={self.branch}, owner={self.owner})>"
def dynamic_projects(**kwargs):
tableName = kwargs["tableName"]
class Projects(declarative_base()):
__tablename__ = tableName
projectname = Column(String(20))
projectid = Column(Integer, primary_key=True)
branch = Column(String(20), primary_key=True)
owner = Column(String(10))
def __repr__(self):
return f"<projects(projectname={self.projectname}, projectid={self.projectid}, branch={self.branch}, owner={self.owner})>"
return Projects
Projects.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
insertOne = Projects(projectname='test', projectid=1, branch='master', owner='lili')
session.add(insertOne)
data = [Projects(projectname='test', projectid=1, branch='develop', owner='lili'),
Projects(projectname='test', projectid=1, branch='test', owner='lili')]
session.add_all(data)
session.commit()
one_project = session.query(Projects).filter_by(projectname='test').first()
allData = session.query(Projects).filter_by().all()
renameSql = f"alter table 'Projects' rename to 'Project'"
session.execute(renameSql)
Projects.metadata.create_all(engine)