Source code for benchbuild.db.versions.001_Remove_RegressionTest_table

"""
Remove unneeded Regressions table.

This table can and should be reintroduced by an experiment that requires it.
"""
import sqlalchemy as sa
from sqlalchemy import Column, ForeignKey, Integer, String, Table

from benchbuild.utils.schema import exceptions, metadata

META = metadata()
REGRESSION = Table('regressions', META,
                   Column(
                       'run_id',
                       Integer,
                       ForeignKey(
                           'run.id', onupdate="CASCADE", ondelete="CASCADE"),
                       index=True,
                       primary_key=True), Column('name', String),
                   Column('module', String), Column('project_name', String))


[docs]def upgrade(migrate_engine): @exceptions( error_is_fatal=False, error_messages={ sa.exc.ProgrammingError: "Removing table 'Regressions' failed. Please delete the table manually" }) def do_upgrade(): META.bind = migrate_engine REGRESSION.drop() do_upgrade()
[docs]def downgrade(migrate_engine): @exceptions(error_messages={ sa.exc.ProgrammingError: "Adding table 'Regressions' failed." }) def do_downgrade(): META.bind = migrate_engine REGRESSION.create() do_downgrade()