def upgrade(active_plugins=None, options=None): bind = op.get_bind() validator = NameType() projects = list( bind.execute( sa.select(columns=['*'], from_obj=sa.Table('projects', MetaData())))) projects_table = table( 'projects', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(), nullable=False), sa.Column('description', sa.UnicodeText(), nullable=True), ) last_idx = 0 for project in projects: project_name = project["name"] project_id = project["id"] need_rename = False try: validator.validate(project_name) except Exception: need_rename = True if need_rename: # This project needs renaming temp_name = "Project-%d" % last_idx last_idx += 1 updated_description = "%s This project was renamed to fit new " \ "naming validation. Original name was: %s" \ % (project["description"], project_name) bind.execute(projects_table.update().where( projects_table.c.id == project_id).values( name=temp_name, description=updated_description))
def upgrade(active_plugins=None, options=None): bind = op.get_bind() validator = NameType() projects = list(bind.execute( sa.select(columns=['*'], from_obj=sa.Table('projects', MetaData())))) projects_table = table( 'projects', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(), nullable=False), sa.Column('description', sa.UnicodeText(), nullable=True), ) last_idx = 0 for project in projects: project_name = project["name"] project_id = project["id"] need_rename = False try: validator.validate(project_name) except Exception: need_rename = True if need_rename: # This project needs renaming temp_name = "Project-%d" % last_idx last_idx += 1 updated_description = "%s This project was renamed to fit new " \ "naming validation. Original name was: %s" \ % (project["description"], project_name) bind.execute(projects_table.update() .where(projects_table.c.id == project_id) .values(name=temp_name, description=updated_description))
def _get_project(project, session): validator = NameType() name = six.text_type(project['project']) if 'description' in project: description = six.text_type(project['description']) else: description = '' try: validator.validate(name) except Exception: # Skipping invalid project names LOG.warn(_LW("Project %s was not loaded. Validation failed.") % [name, ]) return None db_project = session.query(Project) \ .filter_by(name=name).first() if not db_project: db_project = Project() db_project.name = name db_project.description = description db_project.groups = [] session.add(db_project) session.flush() master_branch = session.query(Branch).\ filter_by(name='master', project_id=db_project.id).first() if not master_branch: master_branch = Branch() master_branch.update(MasterBranchHelper(db_project.id).as_dict()) session.add(master_branch) return db_project
def _get_project(project, session): validator = NameType() name = six.text_type(project['project']) if 'description' in project: description = six.text_type(project['description']) else: description = '' try: validator.validate(name) except Exception: # Skipping invalid project names LOG.warning(_LW("Project %s was not loaded. Validation failed.") % [name, ]) return None db_project = session.query(Project) \ .filter_by(name=name).first() if not db_project: db_project = Project() db_project.name = name db_project.description = description db_project.groups = [] session.add(db_project) session.flush() master_branch = session.query(Branch).\ filter_by(name='master', project_id=db_project.id).first() if not master_branch: master_branch = Branch() master_branch.update(MasterBranchHelper(db_project.id).as_dict()) session.add(master_branch) return db_project