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.0022_visualization_tables

"""
Migration script to add support for storing visualizations.
  1) Creates Visualization and VisualizationRevision tables
"""
from __future__ import print_function

import datetime
import logging

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

now = datetime.datetime.utcnow
log = logging.getLogger(__name__)
metadata = MetaData()

Visualization_table = Table("visualization", metadata,
                            Column("id", Integer, primary_key=True),
                            Column("create_time", DateTime, default=now),
                            Column("update_time", DateTime, default=now, onupdate=now),
                            Column("user_id", Integer, ForeignKey("galaxy_user.id"), index=True, nullable=False),
                            Column("latest_revision_id", Integer,
                                   ForeignKey("visualization_revision.id", use_alter=True, name='visualization_latest_revision_id_fk'), index=True),
                            Column("title", TEXT),
                            Column("type", TEXT))

VisualizationRevision_table = Table("visualization_revision", metadata,
                                    Column("id", Integer, primary_key=True),
                                    Column("create_time", DateTime, default=now),
                                    Column("update_time", DateTime, default=now, onupdate=now),
                                    Column("visualization_id", Integer, ForeignKey("visualization.id"), index=True, nullable=False),
                                    Column("title", TEXT),
                                    Column("config", TEXT))


[docs]def upgrade(migrate_engine): metadata.bind = migrate_engine print(__doc__) metadata.reflect() try: Visualization_table.create() except Exception: log.exception("Could not create page table") try: VisualizationRevision_table.create() except Exception: log.exception("Could not create page_revision table")
[docs]def downgrade(migrate_engine): metadata.bind = migrate_engine metadata.reflect() Visualization_table.drop() VisualizationRevision_table.drop()