Warning

This document is for an old release of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

Source code for tool_shed.webapp.model.migrate.versions.0023_add_repository_url_and_hompeage_url

"""
Migration script to add the remote_repository_url and homepage_url
columns to the repository table.
"""

import logging
import sys

from sqlalchemy import Column, MetaData, Table

from galaxy.model.custom_types import TrimmedString

log = logging.getLogger(__name__)
log.setLevel(logging.DEBUG)
handler = logging.StreamHandler(sys.stdout)
format = "%(name)s %(levelname)s %(asctime)s %(message)s"
formatter = logging.Formatter(format)
handler.setFormatter(formatter)
log.addHandler(handler)

metadata = MetaData()


[docs]def upgrade(migrate_engine): print(__doc__) metadata.bind = migrate_engine metadata.reflect() Repository_table = Table("repository", metadata, autoload=True) c_remote = Column("remote_repository_url", TrimmedString(255)) c_homepage = Column("homepage_url", TrimmedString(255)) try: # Create c_remote.create(Repository_table) c_homepage.create(Repository_table) assert c_remote is Repository_table.c.remote_repository_url assert c_homepage is Repository_table.c.homepage_url except Exception: log.exception("Adding remote_repository_url and homepage_url columns to the repository table failed.")
[docs]def downgrade(migrate_engine): metadata.bind = migrate_engine metadata.reflect() # Drop type column from repository table. Repository_table = Table("repository", metadata, autoload=True) try: Repository_table.c.remote_repository_url.drop() Repository_table.c.homepage_url.drop() except Exception: log.exception("Dropping columns remote_repository_url and homepage_url from the repository table failed.")