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)
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)
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)
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)
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()
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)
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)
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))
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)
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)
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'])
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)
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)
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 """ # ========================================================================== # 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)
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)