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 galaxy.model.migrate.versions.0020_library_upload_job

"""
This script creates a job_to_output_library_dataset table for allowing library
uploads to run as regular jobs.  To support this, a library_folder_id column is
added to the job table, and library_folder/output_library_datasets relations
are added to the Job object.  An index is also added to the dataset.state
column.
"""

import logging

from sqlalchemy import (
    Column,
    ForeignKey,
    Integer,
    MetaData,
    String,
    Table
)

from galaxy.model.migrate.versions.util import (
    add_column,
    add_index,
    create_table,
    drop_column,
    drop_index,
    drop_table
)

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

JobToOutputLibraryDataset_table = Table("job_to_output_library_dataset", metadata,
    Column("id", Integer, primary_key=True),
    Column("job_id", Integer, ForeignKey("job.id"), index=True),
    Column("ldda_id", Integer, ForeignKey("library_dataset_dataset_association.id"), index=True),
    Column("name", String(255)))


[docs]def upgrade(migrate_engine): print(__doc__) metadata.bind = migrate_engine metadata.reflect() # Create the job_to_output_library_dataset table create_table(JobToOutputLibraryDataset_table) # Create the library_folder_id column col = Column("library_folder_id", Integer, ForeignKey('library_folder.id', name='job_library_folder_id_fk'), index=True) add_column(col, 'job', metadata, index_name='ix_job_library_folder_id') # Create the ix_dataset_state index add_index('ix_dataset_state', 'dataset', 'state', metadata)
[docs]def downgrade(migrate_engine): metadata.bind = migrate_engine metadata.reflect() # Drop the ix_dataset_state index drop_index('ix_dataset_state', 'dataset', 'state', metadata) # Drop the library_folder_id column drop_column('library_folder_id', 'job', metadata) # Drop the job_to_output_library_dataset table drop_table(JobToOutputLibraryDataset_table)