Warning

This document is for an in-development version 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 galaxy.model.migrate.versions.0103_add_tool_shed_repository_status_columns

"""Migration script to add status and error_message columns to the tool_shed_repository table."""
from __future__ import print_function

import logging

from sqlalchemy import Column, MetaData, Table, TEXT

# Need our custom types, but don't import anything else from model
from galaxy.model.custom_types import TrimmedString

log = logging.getLogger(__name__)
metadata = MetaData()


[docs]def upgrade(migrate_engine): metadata.bind = migrate_engine print(__doc__) metadata.reflect() ToolShedRepository_table = Table("tool_shed_repository", metadata, autoload=True) # Add the status column to the tool_shed_repository table. col = Column("status", TrimmedString(255)) try: col.create(ToolShedRepository_table) assert col is ToolShedRepository_table.c.status except Exception: log.exception("Adding status column to the tool_shed_repository table failed.") # Add the error_message column to the tool_shed_repository table. col = Column("error_message", TEXT) try: col.create(ToolShedRepository_table) assert col is ToolShedRepository_table.c.error_message except Exception: log.exception("Adding error_message column to the tool_shed_repository table failed.") # Update the status column value for tool_shed_repositories to the default value 'Installed'. cmd = "UPDATE tool_shed_repository SET status = 'Installed';" try: migrate_engine.execute(cmd) except Exception: log.exception("Exception executing SQL command: %s", cmd) # Update the status column for tool_shed_repositories that have been uninstalled. cmd = "UPDATE tool_shed_repository SET status = 'Uninstalled' WHERE uninstalled;" try: migrate_engine.execute(cmd) except Exception: log.exception("Exception executing SQL command: %s", cmd) # Update the status column for tool_shed_repositories that have been deactivated. cmd = "UPDATE tool_shed_repository SET status = 'Deactivated' where deleted and not uninstalled;" try: migrate_engine.execute(cmd) except Exception: log.exception("Exception executing SQL command: %s", cmd)
[docs]def downgrade(migrate_engine): metadata.bind = migrate_engine metadata.reflect() ToolShedRepository_table = Table("tool_shed_repository", metadata, autoload=True) try: ToolShedRepository_table.c.status.drop() except Exception: log.exception("Dropping column status from the tool_shed_repository table failed.") try: ToolShedRepository_table.c.error_message.drop() except Exception: log.exception("Dropping column error_message from the tool_shed_repository table failed.")