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_2_0_1
    tbl = db_2_0_1.RepoGroup.__table__

    created_on = Column('created_on',
                        DateTime(timezone=False),
                        nullable=True,
                        default=datetime.datetime.now)
    created_on.create(table=tbl)

    #fix null values on certain columns when upgrading from older releases
    tbl = db_2_0_1.UserLog.__table__
    col = tbl.columns.user_id
    col.alter(nullable=True)

    tbl = db_2_0_1.UserFollowing.__table__
    col = tbl.columns.follows_repository_id
    col.alter(nullable=True)

    tbl = db_2_0_1.UserFollowing.__table__
    col = tbl.columns.follows_user_id
    col.alter(nullable=True)

    # issue fixups
    fixups(db_2_0_1, meta.Session)
Beispiel #2
0
def upgrade(migrate_engine):
    """
    Upgrade operations go here.
    Don't create your own engine; bind migrate_engine to your metadata
    """
    _reset_base(migrate_engine)
    #==========================================================================
    # USER LOGS
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_5_2 import UserIpMap
    tbl = UserIpMap.__table__
    tbl.create()

    #==========================================================================
    # REPOSITORIES
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_5_2 import Repository
    tbl = Repository.__table__
    changeset_cache = Column("changeset_cache", LargeBinary(), nullable=True)
    # create username column
    changeset_cache.create(table=tbl)

    #fix cache data
    repositories = Repository.getAll()
    for entry in repositories:
        entry.update_changeset_cache()
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_3_7_0_0

    init_model_encryption(db_3_7_0_0)

    context = MigrationContext.configure(migrate_engine.connect())
    op = Operations(context)

    op.create_table(
        'external_identities',
        sa.Column('provider_name', sa.Unicode(255), primary_key=True),
        sa.Column('local_user_id',
                  sa.Integer(),
                  sa.ForeignKey('users.user_id'),
                  primary_key=True),
        sa.Column('external_id', sa.Unicode(255), primary_key=True),
        sa.Column('external_username', sa.Unicode(1024), default=u''),
        sa.Column('access_token', sa.String(1024), default=u''),
        sa.Column('alt_token', sa.String(1024), default=u''),
        sa.Column('token_secret', sa.String(1024), default=u''))
    op.create_index('local_user_id_idx', 'external_identities',
                    ['local_user_id'])
    op.create_index('external_id_idx', 'external_identities', ['external_id'])
def upgrade(migrate_engine):
    """
    Upgrade operations go here.
    Don't create your own engine; bind migrate_engine to your metadata
    """
    _reset_base(migrate_engine)
    # ==========================================================================
    # USER LOGS
    # ==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_5_2 import UserIpMap

    tbl = UserIpMap.__table__
    tbl.create()

    # ==========================================================================
    # REPOSITORIES
    # ==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_5_2 import Repository

    tbl = Repository.__table__
    changeset_cache = Column("changeset_cache", LargeBinary(), nullable=True)
    # create username column
    changeset_cache.create(table=tbl)

    # fix cache data
    repositories = Repository.getAll()
    for entry in repositories:
        entry.update_changeset_cache()
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_3_3_0_0
    init_model_encryption(db_3_3_0_0)
    fixups(db_3_3_0_0, meta.Session)
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_2_0_2

    # issue fixups
    fixups(db_2_0_2, meta.Session)
Beispiel #7
0
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_1_7_0

    #==========================================================================
    # UserUserGroupToPerm
    #==========================================================================
    tbl = db_1_7_0.UserUserGroupToPerm.__table__
    tbl.create()

    #==========================================================================
    # UserGroupUserGroupToPerm
    #==========================================================================
    tbl = db_1_7_0.UserGroupUserGroupToPerm.__table__
    tbl.create()

    #==========================================================================
    # Gist
    #==========================================================================
    tbl = db_1_7_0.Gist.__table__
    tbl.create()

    #==========================================================================
    # UserGroup
    #==========================================================================
    tbl = db_1_7_0.UserGroup.__table__
    user_id = Column("user_id",
                     Integer(),
                     ForeignKey('users.user_id'),
                     nullable=True,
                     unique=False,
                     default=None)
    # create username column
    user_id.create(table=tbl)

    #==========================================================================
    # RepoGroup
    #==========================================================================
    tbl = db_1_7_0.RepoGroup.__table__
    user_id = Column("user_id",
                     Integer(),
                     ForeignKey('users.user_id'),
                     nullable=True,
                     unique=False,
                     default=None)
    # create username column
    user_id.create(table=tbl)

    # issue fixups
    fixups(db_1_7_0, meta.Session)
Beispiel #8
0
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_3_0_0_0

    tbl = db_3_0_0_0.Gist.__table__

    acl_level = Column('acl_level', Unicode(128), nullable=True)
    acl_level.create(table=tbl)
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_2_2_3

    tbl = db_2_2_3.UserApiKeys.__table__

    role = Column('role', String(255), nullable=True)
    role.create(table=tbl)
Beispiel #10
0
def upgrade(migrate_engine):
    """
    Upgrade operations go here.
    Don't create your own engine; bind migrate_engine to your metadata
    """
    _reset_base(migrate_engine)
    #==========================================================================
    # USER LOGS
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_6_0 import RepositoryField
    tbl = RepositoryField.__table__
    tbl.create()
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_2_3_0_0

    tbl = db_2_3_0_0.ChangesetComment.__table__

    renderer = Column('renderer', Unicode(64), nullable=True)
    renderer.create(table=tbl)
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_3_5_0_0

    ui_table = db_3_5_0_0.RepoRhodeCodeUi.__table__
    settings_table = db_3_5_0_0.RepoRhodeCodeSetting.__table__
    ui_table.create()
    settings_table.create()
Beispiel #13
0
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_2_2_0

    tbl = db_2_2_0.Repository.__table__

    repo_state = Column("repo_state", String(255), nullable=True)
    repo_state.create(table=tbl)
Beispiel #14
0
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_2_2_0

    tbl = db_2_2_0.UserGroup.__table__

    user_data = Column("group_data", LargeBinary(), nullable=True)  # JSON data
    user_data.create(table=tbl)
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_3_2_0_0

    # Add display_state to ChangesetComment
    tbl = db_3_2_0_0.ChangesetComment.__table__
    display_state = Column("display_state", Unicode(128), nullable=True)
    display_state.create(table=tbl)
def upgrade(migrate_engine):
    """
    Upgrade operations go here.
    Don't create your own engine; bind migrate_engine to your metadata
    """
    _reset_base(migrate_engine)
    # ==========================================================================
    # USER LOGS
    # ==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_6_0 import RepositoryField

    tbl = RepositoryField.__table__
    tbl.create()
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_2_0_0
    tbl = db_2_0_0.RhodeCodeSetting.__table__
    settings_value = tbl.columns.app_settings_value
    settings_value.alter(type=String(4096))

    # issue fixups
    fixups(db_2_0_0, meta.Session)
Beispiel #18
0
def upgrade(migrate_engine):
    """
    Upgrade operations go here.
    Don't create your own engine; bind migrate_engine to your metadata
    """
    _reset_base(migrate_engine)

    #==========================================================================
    # Gist
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_7_0 import Gist
    tbl = Gist.__table__
    user_id = tbl.columns.gist_expires
    user_id.alter(type=Float(53))
Beispiel #19
0
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_1_6_0

    #==========================================================================
    # USER LOGS
    #==========================================================================
    tbl = db_1_6_0.RepositoryField.__table__
    tbl.create()

    # issue fixups
    fixups(db_1_6_0, meta.Session)
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_2_3_0_1

    tbl = db_2_3_0_1.UserIpMap.__table__

    description = Column("description",
                         String(10000),
                         nullable=True,
                         unique=None,
                         default=None)
    description.create(table=tbl)
Beispiel #21
0
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_1_7_0

    #==========================================================================
    # Gist
    #==========================================================================
    tbl = db_1_7_0.Gist.__table__
    user_id = tbl.columns.gist_expires
    user_id.alter(type=Float(53))

    # issue fixups
    fixups(db_1_7_0, meta.Session)
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_1_8_0
    tbl = db_1_8_0.RhodeCodeSetting.__table__
    app_settings_type = Column("app_settings_type",
                               String(255, convert_unicode=False),
                               nullable=True,
                               unique=None,
                               default=None)
    app_settings_type.create(table=tbl)

    # issue fixups
    fixups(db_1_8_0, meta.Session)
def upgrade(migrate_engine):
    """
    Upgrade operations go here.
    Don't create your own engine; bind migrate_engine to your metadata
    """
    _reset_base(migrate_engine)

    #==========================================================================
    # UserUserGroupToPerm
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_7_0 import UserUserGroupToPerm
    tbl = UserUserGroupToPerm.__table__
    tbl.create()

    #==========================================================================
    # UserGroupUserGroupToPerm
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_7_0 import UserGroupUserGroupToPerm
    tbl = UserGroupUserGroupToPerm.__table__
    tbl.create()

    #==========================================================================
    # Gist
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_7_0 import Gist
    tbl = Gist.__table__
    tbl.create()

    #==========================================================================
    # UserGroup
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_7_0 import UserGroup
    tbl = UserGroup.__table__
    user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=True, unique=False, default=None)
    # create username column
    user_id.create(table=tbl)

    #==========================================================================
    # RepoGroup
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_7_0 import RepoGroup
    tbl = RepoGroup.__table__
    user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=True, unique=False, default=None)
    # create username column
    user_id.create(table=tbl)
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_1_5_0
    #==========================================================================
    # USER LOGS
    #==========================================================================

    tbl = db_1_5_0.UserLog.__table__
    username = Column("username",
                      String(255, convert_unicode=False),
                      nullable=True,
                      unique=None,
                      default=None)
    # create username column
    username.create(table=tbl)

    _Session = meta.Session()
    ## after adding that column fix all usernames
    users_log = _Session.query(db_1_5_0.UserLog)\
            .options(joinedload(db_1_5_0.UserLog.user))\
            .options(joinedload(db_1_5_0.UserLog.repository)).all()

    for entry in users_log:
        entry.username = entry.user.username
        _Session.add(entry)
    _Session.commit()

    #alter username to not null
    tbl_name = db_1_5_0.UserLog.__tablename__
    tbl = Table(tbl_name,
                MetaData(bind=migrate_engine),
                autoload=True,
                autoload_with=migrate_engine)
    col = tbl.columns.username

    # remove nullability from revision field
    col.alter(nullable=False)

    # issue fixups
    fixups(db_1_5_0, meta.Session)
Beispiel #25
0
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_3_7_0_0

    init_model_encryption(db_3_7_0_0)

    context = MigrationContext.configure(migrate_engine.connect())
    op = Operations(context)

    repository = db_3_7_0_0.Repository.__table__
    repo_name_column = repository.columns.repo_name
    clone_uri_column = repository.columns.clone_uri

    indexes = _get_indexes_list(migrate_engine, repository.name)
    repo_name_indexes = [
        i['name'] for i in indexes if 'repo_name' in i['column_names']
    ]
    constraints = _get_unique_constraint_list(migrate_engine, repository.name)
    repo_name_constraints = [
        c['name'] for c in constraints if 'repo_name' in c['column_names']
    ]

    with op.batch_alter_table(repository.name) as batch_op:
        repo_name_idx = 'r_repo_name_idx'
        if repo_name_idx in repo_name_indexes:
            batch_op.drop_index(repo_name_idx)
        for name in repo_name_constraints:
            batch_op.drop_constraint(name, type_='unique')

        batch_op.alter_column(repo_name_column.name, type_=Text)
        batch_op.alter_column(clone_uri_column.name, type_=Text)
        batch_op.create_index('r_repo_name_idx', ['repo_name'],
                              mysql_length=255)
        batch_op.add_column(Column('repo_name_hash', String(40), unique=False))

    _generate_repo_name_hashes(db_3_7_0_0, op, meta.Session)

    with op.batch_alter_table(repository.name) as batch_op:
        batch_op.create_unique_constraint('uq_repo_name_hash',
                                          ['repo_name_hash'])
Beispiel #26
0
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_2_0_0
    tbl = db_2_0_0.UserGroup.__table__

    user_group_description = Column("user_group_description",
                                    String(10000, convert_unicode=False),
                                    nullable=True, unique=None, default=None)
    user_group_description.create(table=tbl)

    created_on = Column('created_on', DateTime(timezone=False),
                        nullable=True, default=datetime.datetime.now)
    created_on.create(table=tbl)

    # issue fixups
    fixups(db_2_0_0, meta.Session)
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_1_5_2
    #==========================================================================
    # USER LOGS
    #==========================================================================
    tbl = db_1_5_2.UserIpMap.__table__
    tbl.create()

    #==========================================================================
    # REPOSITORIES
    #==========================================================================
    tbl = db_1_5_2.Repository.__table__
    changeset_cache = Column("changeset_cache", LargeBinary(), nullable=True)
    # create username column
    changeset_cache.create(table=tbl)
Beispiel #28
0
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_3_1_0_1

    # Add table for PullRequestVersion
    tbl = db_3_1_0_1.PullRequestVersion.__table__
    tbl.create()

    # Add pull_request_version to ChangesetComment
    tbl = db_3_1_0_1.ChangesetComment.__table__
    pull_request_version_id = Column(
        "pull_request_version_id",
        Integer(),
        ForeignKey('pull_request_versions.pull_request_version_id'),
        nullable=True)
    pull_request_version_id.create(table=tbl)
Beispiel #29
0
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_2_3_0_2

    tbl = db_2_3_0_2.PullRequest.__table__

    _last_merge_org_rev = Column('last_merge_org_rev',
                                 String(40),
                                 nullable=True)
    _last_merge_other_rev = Column('last_merge_other_rev',
                                   String(40),
                                   nullable=True)
    _last_merge_status = Column('merge_status', Integer(), nullable=True)
    merge_rev = Column('merge_rev', String(40), nullable=True)
    _last_merge_org_rev.create(table=tbl)
    _last_merge_other_rev.create(table=tbl)
    _last_merge_status.create(table=tbl)
    merge_rev.create(table=tbl)
def upgrade(migrate_engine):
    """
    Upgrade operations go here.
    Don't create your own engine; bind migrate_engine to your metadata
    """
    _reset_base(migrate_engine)

    #==========================================================================
    # UserGroup
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_7_0 import UserGroup
    tbl = UserGroup.__table__
    user_id = tbl.columns.user_id
    user_id.alter(nullable=False)

    #==========================================================================
    # RepoGroup
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_7_0 import RepoGroup
    tbl = RepoGroup.__table__
    user_id = tbl.columns.user_id
    user_id.alter(nullable=False)
def upgrade(migrate_engine):
    """
    Upgrade operations go here.
    Don't create your own engine; bind migrate_engine to your metadata
    """
    _reset_base(migrate_engine)


    #==========================================================================
    # UserGroup
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_7_0 import UserGroup
    tbl = UserGroup.__table__
    user_id = tbl.columns.user_id
    user_id.alter(nullable=False)

    #==========================================================================
    # RepoGroup
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_7_0 import RepoGroup
    tbl = RepoGroup.__table__
    user_id = tbl.columns.user_id
    user_id.alter(nullable=False)
def upgrade(migrate_engine):
    """
    Upgrade operations go here.
    Don't create your own engine; bind migrate_engine to your metadata
    """
    # ==========================================================================
    # USER LOGS
    # ==========================================================================
    _reset_base(migrate_engine)
    from rhodecode.lib.dbmigrate.schema.db_1_5_0 import UserLog

    tbl = UserLog.__table__
    username = Column(
        "username", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None
    )
    # create username column
    username.create(table=tbl)

    _Session = Session()
    ## after adding that column fix all usernames
    users_log = _Session.query(UserLog).options(joinedload(UserLog.user)).options(joinedload(UserLog.repository)).all()

    for entry in users_log:
        entry.username = entry.user.username
        _Session.add(entry)
    _Session.commit()

    # alter username to not null
    from rhodecode.lib.dbmigrate.schema.db_1_5_0 import UserLog

    tbl_name = UserLog.__tablename__
    tbl = Table(tbl_name, MetaData(bind=migrate_engine), autoload=True, autoload_with=migrate_engine)
    col = tbl.columns.username

    # remove nullability from revision field
    col.alter(nullable=False)
Beispiel #33
0
def upgrade(migrate_engine):
    """
    Upgrade operations go here.
    Don't create your own engine; bind migrate_engine to your metadata
    """
    _reset_base(migrate_engine)
def upgrade(migrate_engine):
    """
    Upgrade operations go here.
    Don't create your own engine; bind migrate_engine to your metadata
    """

    #==========================================================================
    # USEREMAILMAP
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_4_0 import UserEmailMap
    tbl = UserEmailMap.__table__
    tbl.create()
    #==========================================================================
    # PULL REQUEST
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_4_0 import PullRequest
    tbl = PullRequest.__table__
    tbl.create()

    #==========================================================================
    # PULL REQUEST REVIEWERS
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_4_0 import PullRequestReviewers
    tbl = PullRequestReviewers.__table__
    tbl.create()

    #==========================================================================
    # CHANGESET STATUS
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_4_0 import ChangesetStatus
    tbl = ChangesetStatus.__table__
    tbl.create()

    _reset_base(migrate_engine)

    #==========================================================================
    # USERS TABLE
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_3_0 import User
    tbl = User.__table__

    # change column name -> firstname
    col = User.__table__.columns.name
    col.alter(index=Index('u_username_idx', 'username'))
    col.alter(index=Index('u_email_idx', 'email'))
    col.alter(name="firstname", table=tbl)

    # add inherit_default_permission column
    inherit_default_permissions = Column("inherit_default_permissions",
                                         Boolean(),
                                         nullable=True,
                                         unique=None,
                                         default=True)
    inherit_default_permissions.create(table=tbl)
    inherit_default_permissions.alter(nullable=False, default=True, table=tbl)

    #==========================================================================
    # USERS GROUP TABLE
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_3_0 import UserGroup
    tbl = UserGroup.__table__
    # add inherit_default_permission column
    gr_inherit_default_permissions = Column(
        "users_group_inherit_default_permissions",
        Boolean(),
        nullable=True,
        unique=None,
        default=True)
    gr_inherit_default_permissions.create(table=tbl)
    gr_inherit_default_permissions.alter(nullable=False,
                                         default=True,
                                         table=tbl)

    #==========================================================================
    # REPOSITORIES
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_3_0 import Repository
    tbl = Repository.__table__

    # add enable locking column
    enable_locking = Column("enable_locking",
                            Boolean(),
                            nullable=True,
                            unique=None,
                            default=False)
    enable_locking.create(table=tbl)
    enable_locking.alter(nullable=False, default=False, table=tbl)

    # add locked column
    _locked = Column("locked",
                     String(255),
                     nullable=True,
                     unique=False,
                     default=None)
    _locked.create(table=tbl)

    #add langing revision column
    landing_rev = Column("landing_revision",
                         String(255),
                         nullable=True,
                         unique=False,
                         default='tip')
    landing_rev.create(table=tbl)
    landing_rev.alter(nullable=False, default='tip', table=tbl)

    #==========================================================================
    # GROUPS
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_3_0 import RepoGroup
    tbl = RepoGroup.__table__

    # add enable locking column
    enable_locking = Column("enable_locking",
                            Boolean(),
                            nullable=True,
                            unique=None,
                            default=False)
    enable_locking.create(table=tbl)
    enable_locking.alter(nullable=False, default=False)

    #==========================================================================
    # CACHE INVALIDATION
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_3_0 import CacheInvalidation
    tbl = CacheInvalidation.__table__

    # add INDEX for cache keys
    col = CacheInvalidation.__table__.columns.cache_key
    col.alter(index=Index('key_idx', 'cache_key'))

    #==========================================================================
    # NOTIFICATION
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_3_0 import Notification
    tbl = Notification.__table__

    # add index for notification type
    col = Notification.__table__.columns.type
    col.alter(index=Index('notification_type_idx', 'type'), )

    #==========================================================================
    # CHANGESET_COMMENTS
    #==========================================================================
    from rhodecode.lib.dbmigrate.schema.db_1_3_0 import ChangesetComment

    tbl = ChangesetComment.__table__
    col = ChangesetComment.__table__.columns.revision

    # add index for revisions
    col.alter(index=Index('cc_revision_idx', 'revision'), )

    # add hl_lines column
    hl_lines = Column('hl_lines', Unicode(512), nullable=True)
    hl_lines.create(table=tbl)

    # add created_on column
    created_on = Column('created_on',
                        DateTime(timezone=False),
                        nullable=True,
                        default=datetime.datetime.now)
    created_on.create(table=tbl)
    created_on.alter(nullable=False, default=datetime.datetime.now)

    modified_at = Column('modified_at',
                         DateTime(timezone=False),
                         nullable=False,
                         default=datetime.datetime.now)
    modified_at.alter(type=DateTime(timezone=False), table=tbl)

    # add FK to pull_request
    pull_request_id = Column("pull_request_id",
                             Integer(),
                             ForeignKey('pull_requests.pull_request_id'),
                             nullable=True)
    pull_request_id.create(table=tbl)
    _reset_base(migrate_engine)