def updateDb(user, db): from domoweb.models import metadata, engine, Session, Section, SectionParam from sqlalchemy import create_engine, func from alembic.config import Config from alembic import command alembic_cfg = Config("alembic.ini") if not os.path.isfile(db): ok("Creating new database: %s" % db) metadata.create_all(engine) command.stamp(alembic_cfg, "head") uid = pwd.getpwnam(user).pw_uid os.chown(db, uid, -1) ok("Adding initial data") session = Session() s = Section(name=unicode('Root'), description=unicode('Root dashboard'), left=1, right=2) session.add(s) p = SectionParam(section_id=1, key='GridWidgetSize', value='100') session.add(p) p = SectionParam(section_id=1, key='GridWidgetSpace', value='20') session.add(p) p = SectionParam(section_id=1, key='GridMode', value='3') session.add(p) session.commit() else: ok("Upgrading existing database") session = Session() sections = session.query(Section).all() for s in sections: p = session.query(SectionParam).filter_by(section_id=s.id).filter( SectionParam.key.in_([ 'GridWidgetSize', 'GridWidgetSpace', 'GridColumns', 'GridRows' ])).count() if p == 0: ok("Updating section '%s'" % s.name) p = SectionParam(section_id=s.id, key='GridWidgetSize', value='100') session.add(p) p = SectionParam(section_id=s.id, key='GridWidgetSpace', value='20') session.add(p) p = SectionParam(section_id=s.id, key='GridMode', value='3') session.add(p) session.commit() command.upgrade(alembic_cfg, "head")
def updateDb(user, db): from domoweb.models import metadata, engine, Session, Section, SectionParam from sqlalchemy import create_engine, func from alembic.config import Config from alembic import command alembic_cfg = Config("alembic.ini") if not os.path.isfile(db): ok("Creating new database: %s" % db) metadata.create_all(engine) command.stamp(alembic_cfg, "head") uid = pwd.getpwnam(user).pw_uid os.chown(db, uid, -1) ok("Adding initial data") session = Session() s = Section(name=unicode('Root'), description=unicode('Root dashboard'), left=1, right=2) session.add(s) p = SectionParam(section_id=1, key='GridWidgetSize', value='100') session.add(p) p = SectionParam(section_id=1, key='GridWidgetSpace', value='20') session.add(p) p = SectionParam(section_id=1, key='GridMode', value='3') session.add(p) session.commit() else: ok("Upgrading existing database") session = Session() sections = session.query(Section).all() for s in sections: p = session.query(SectionParam).filter_by(section_id=s.id).filter(SectionParam.key.in_(['GridWidgetSize', 'GridWidgetSpace', 'GridColumns', 'GridRows'])).count() if p == 0: ok("Updating section '%s'" % s.name) p = SectionParam(section_id=s.id, key='GridWidgetSize', value='100') session.add(p) p = SectionParam(section_id=s.id, key='GridWidgetSpace', value='20') session.add(p) p = SectionParam(section_id=s.id, key='GridMode', value='3') session.add(p) session.commit() command.upgrade(alembic_cfg, "head")
def updateDb(user, db): from domoweb.models import metadata, engine, Session, Section from sqlalchemy import create_engine from alembic.config import Config from alembic import command alembic_cfg = Config("alembic.ini") if not os.path.isfile(db): ok("Creating new database: %s" % db) metadata.create_all(engine) command.stamp(alembic_cfg, "head") uid = pwd.getpwnam(user).pw_uid os.chown(db, uid, -1) ok("Adding initial data") session = Session() s = Section(name=unicode('Root'), description=unicode('Root dashboard'), left=1, right=2) session.add(s) session.commit() else: ok("Upgrading existing database") command.upgrade(alembic_cfg, "head")