unrhodecode/rhodecode/lib/dbmigrate/versions/061_version_4_5_0.py
Marcin Kuzminski f7cf9b7acf migration: detach permissions defaults migration from current models.
This was causing that latest code was used results in potential problems
during migration. Now we use the bound migraiton code that always will
perform the same exact migrations independent of the current code changes.
2017-03-15 14:00:07 +01:00

37 lines
1,009 B
Python

import logging
from sqlalchemy import *
from rhodecode.model import meta
from rhodecode.lib.dbmigrate.versions import _reset_base, notify
from rhodecode.lib.dbmigrate.utils import (
create_default_object_permission, create_default_permissions)
log = logging.getLogger(__name__)
def upgrade(migrate_engine):
"""
Upgrade operations go here.
Don't create your own engine; bind migrate_engine to your metadata
"""
_reset_base(migrate_engine)
from rhodecode.lib.dbmigrate.schema import db_4_5_0_0
fixups(db_4_5_0_0, meta.Session)
def downgrade(migrate_engine):
meta = MetaData()
meta.bind = migrate_engine
def fixups(models, _SESSION):
# create default permissions
create_default_permissions(_SESSION, models)
log.info('created default global permissions definitions')
_SESSION().commit()
# fix default object permissions
create_default_object_permission(_SESSION, models)
log.info('created default permission')
_SESSION().commit()