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.0118_add_hda_extended_metadata

"""
Add link from history_dataset_association to the extended_metadata table
"""

import logging

from sqlalchemy import Column, ForeignKey, Integer, MetaData, Table

log = logging.getLogger(__name__)
metadata = MetaData()
extended_metadata_hda_col = Column("extended_metadata_id", Integer, ForeignKey("extended_metadata.id"), nullable=True)


[docs]def upgrade(migrate_engine): print(__doc__) metadata.bind = migrate_engine metadata.reflect() try: hda_table = Table("history_dataset_association", metadata, autoload=True) extended_metadata_hda_col.create(hda_table) assert extended_metadata_hda_col is hda_table.c.extended_metadata_id except Exception: log.exception("Adding column 'extended_metadata_id' to history_dataset_association table failed.")
[docs]def downgrade(migrate_engine): metadata.bind = migrate_engine metadata.reflect() # Drop the HDA table's extended metadata ID column. try: hda_table = Table("history_dataset_association", metadata, autoload=True) extended_metadata_id = hda_table.c.extended_metadata_id extended_metadata_id.drop() except Exception: log.exception("Dropping 'extended_metadata_id' column from history_dataset_association table failed.")