Exemplo n.º 1
0
def apply_migrations(from_version):
    to_version = get_db_version()
    print("Applying migrations from version %s to %s..." % (from_version, to_version))
    for mig_cls in sorted(_migrations, key=lambda m: (m._version, m._name)):
        if compare_version(mig_cls._version, from_version) <= 0:
            continue
        if mig_cls._max_version and compare_version(to_version, mig_cls._max_version) > 0:
            raise Exception(
                "Can not apply migration '%s', maximum version that can apply this migration is %s" % (mig._name, mig._max_version))
        mig = mig_cls()
        print("Applying migration %s..." % mig._name)
        set_active_user(1)
        set_active_company(None)
        mig.migrate()
Exemplo n.º 2
0
 def upgrade_db(self, context={}):
     data = context["data"]
     if data["super_password"] != config.get("super_password"):
         raise Exception("Invalid super admin password")
     dbname = data["dbname"]
     database.set_active_db(dbname)
     from_version = get_db_version()
     update_db(force=True)
     apply_migrations(from_version=from_version)
     return {
         "next": {
             "name": "manage_db"
         },
         "flash": "Database upgrade successfully",
     }
Exemplo n.º 3
0
 def upgrade_db(self, context={}):
     data = context["data"]
     if data["super_password"] != config.get("super_password"):
         raise Exception("Invalid super admin password")
     dbname = data["dbname"]
     database.set_active_db(dbname)
     from_version = get_db_version()
     update_db(force=True)
     apply_migrations(from_version=from_version)
     return {
         "next": {
             "name": "manage_db"
         },
         "flash": "Database upgrade successfully",
     }
Exemplo n.º 4
0
def apply_migrations(from_version):
    to_version = get_db_version()
    print("Applying migrations from version %s to %s..." %
          (from_version, to_version))
    for mig_cls in sorted(_migrations, key=lambda m: (m._version, m._name)):
        if compare_version(mig_cls._version, from_version) <= 0:
            continue
        if mig_cls._max_version and compare_version(to_version,
                                                    mig_cls._max_version) > 0:
            raise Exception(
                "Can not apply migration '%s', maximum version that can apply this migration is %s"
                % (mig._name, mig._max_version))
        mig = mig_cls()
        print("Applying migration %s..." % mig._name)
        set_active_user(1)
        set_active_company(None)
        mig.migrate()