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 kallithea.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) from kallithea.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) from kallithea.lib.dbmigrate.schema import db_2_0_0 tbl = db_2_0_0.User.__table__ extern_type = Column("extern_type", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) extern_type.create(table=tbl) extern_name = Column("extern_name", String(255, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) extern_name.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 kallithea.lib.dbmigrate.schema import db_2_2_0 # issue fixups fixups(db_2_2_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 kallithea.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 kallithea.lib.dbmigrate.schema import db_2_1_0 tbl = db_2_1_0.UserApiKeys.__table__ tbl.create() # issue fixups fixups(db_2_1_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 kallithea.lib.dbmigrate.schema import db_2_0_0 tbl = db_2_0_0.Setting.__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) from kallithea.lib.dbmigrate.schema import db_1_8_0 tbl = db_1_8_0.Setting.__table__ app_settings_type = Column("app_settings_type", String(255, convert_unicode=False, assert_unicode=None), 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) from kallithea.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) # issue fixups fixups(db_2_2_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 kallithea.lib.dbmigrate.schema import db_2_2_0 tbl = db_2_2_0.User.__table__ user_data = Column("user_data", LargeBinary(), nullable=True) # JSON data user_data.create(table=tbl) # issue fixups fixups(db_2_2_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 kallithea.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 kallithea.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 kallithea.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 kallithea.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, assert_unicode=None), 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 kallithea.lib.dbmigrate.schema import db_1_8_0 tbl = db_1_8_0.Setting.__table__ app_settings_type = Column("app_settings_type", String(255, convert_unicode=False, assert_unicode=None), 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) from kallithea.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, assert_unicode=None), 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 kallithea.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, assert_unicode=None), 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) #========================================================================== # UserGroup #========================================================================== from kallithea.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 kallithea.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) from kallithea.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) # issue fixups fixups(db_1_5_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) #========================================================================== # UserGroup #========================================================================== from kallithea.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 kallithea.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 """ #========================================================================== # USEREMAILMAP #========================================================================== from kallithea.lib.dbmigrate.schema.db_1_4_0 import UserEmailMap tbl = UserEmailMap.__table__ tbl.create() #========================================================================== # PULL REQUEST #========================================================================== from kallithea.lib.dbmigrate.schema.db_1_4_0 import PullRequest tbl = PullRequest.__table__ tbl.create() #========================================================================== # PULL REQUEST REVIEWERS #========================================================================== from kallithea.lib.dbmigrate.schema.db_1_4_0 import PullRequestReviewers tbl = PullRequestReviewers.__table__ tbl.create() #========================================================================== # CHANGESET STATUS #========================================================================== from kallithea.lib.dbmigrate.schema.db_1_4_0 import ChangesetStatus tbl = ChangesetStatus.__table__ tbl.create() _reset_base(migrate_engine) #========================================================================== # USERS TABLE #========================================================================== from kallithea.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 kallithea.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 kallithea.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 kallithea.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 kallithea.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 kallithea.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 kallithea.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)
def upgrade(migrate_engine): """ Upgrade operations go here. Don't create your own engine; bind migrate_engine to your metadata """ #========================================================================== # USEREMAILMAP #========================================================================== from kallithea.lib.dbmigrate.schema.db_1_4_0 import UserEmailMap tbl = UserEmailMap.__table__ tbl.create() #========================================================================== # PULL REQUEST #========================================================================== from kallithea.lib.dbmigrate.schema.db_1_4_0 import PullRequest tbl = PullRequest.__table__ tbl.create() #========================================================================== # PULL REQUEST REVIEWERS #========================================================================== from kallithea.lib.dbmigrate.schema.db_1_4_0 import PullRequestReviewers tbl = PullRequestReviewers.__table__ tbl.create() #========================================================================== # CHANGESET STATUS #========================================================================== from kallithea.lib.dbmigrate.schema.db_1_4_0 import ChangesetStatus tbl = ChangesetStatus.__table__ tbl.create() _reset_base(migrate_engine) #========================================================================== # USERS TABLE #========================================================================== from kallithea.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 kallithea.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 kallithea.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 kallithea.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 kallithea.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 kallithea.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 kallithea.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)