Ejemplo n.º 1
0
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")
Ejemplo n.º 2
0
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")
Ejemplo n.º 3
0
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")