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.0081_add_tool_version_to_hda_ldda
"""
Migration script to add a 'tool_version' column to the hda/ldda tables.
"""
from __future__ import print_function
import logging
from sqlalchemy import Column, MetaData, Table, TEXT
log = logging.getLogger(__name__)
metadata = MetaData()
[docs]def upgrade(migrate_engine):
metadata.bind = migrate_engine
print(__doc__)
metadata.reflect()
try:
hda_table = Table("history_dataset_association", metadata, autoload=True)
c = Column("tool_version", TEXT)
c.create(hda_table)
assert c is hda_table.c.tool_version
ldda_table = Table("library_dataset_dataset_association", metadata, autoload=True)
c = Column("tool_version", TEXT)
c.create(ldda_table)
assert c is ldda_table.c.tool_version
except Exception:
log.exception("Adding the tool_version column to the hda/ldda tables failed.")
[docs]def downgrade(migrate_engine):
metadata.bind = migrate_engine
metadata.reflect()
try:
hda_table = Table("history_dataset_association", metadata, autoload=True)
hda_table.c.tool_version.drop()
ldda_table = Table("library_dataset_dataset_association", metadata, autoload=True)
ldda_table.c.tool_version.drop()
except Exception:
log.exception("Dropping the tool_version column from hda/ldda table failed.")