Files
superset2/superset/migrations/versions/ddd6ebdd853b_annotations.py
Grace Guo d1a7a7b85c Time Series Annotation Layers (#3521)
* Adding annotations to backend

* Auto fetching Annotations on the backend

* Closing the loop

* Adding missing files

* annotation layers UI

for https://github.com/apache/incubator-superset/issues/3502

* a few fixes per code review.

- add annotation input sanity check before add and before update.
- make SelectAsyncControl component statelesis, and generic
- add annotation description in d3 tool tip
- use less variable to replace hard-coded color
2017-09-27 20:40:07 -07:00

57 lines
2.1 KiB
Python

"""annotations
Revision ID: ddd6ebdd853b
Revises: ca69c70ec99b
Create Date: 2017-09-13 16:36:39.144489
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = 'ddd6ebdd853b'
down_revision = 'ca69c70ec99b'
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table(
'annotation_layer',
sa.Column('created_on', sa.DateTime(), nullable=True),
sa.Column('changed_on', sa.DateTime(), nullable=True),
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('name', sa.String(length=250), nullable=True),
sa.Column('descr', sa.Text(), nullable=True),
sa.Column('changed_by_fk', sa.Integer(), nullable=True),
sa.Column('created_by_fk', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['changed_by_fk'], ['ab_user.id'], ),
sa.ForeignKeyConstraint(['created_by_fk'], ['ab_user.id'], ),
sa.PrimaryKeyConstraint('id')
)
op.create_table(
'annotation',
sa.Column('created_on', sa.DateTime(), nullable=True),
sa.Column('changed_on', sa.DateTime(), nullable=True),
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('start_dttm', sa.DateTime(), nullable=True),
sa.Column('end_dttm', sa.DateTime(), nullable=True),
sa.Column('layer_id', sa.Integer(), nullable=True),
sa.Column('short_descr', sa.String(length=500), nullable=True),
sa.Column('long_descr', sa.Text(), nullable=True),
sa.Column('changed_by_fk', sa.Integer(), nullable=True),
sa.Column('created_by_fk', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['changed_by_fk'], ['ab_user.id'], ),
sa.ForeignKeyConstraint(['created_by_fk'], ['ab_user.id'], ),
sa.ForeignKeyConstraint(['layer_id'], [u'annotation_layer.id'], ),
sa.PrimaryKeyConstraint('id')
)
op.create_index(
'ti_dag_state',
'annotation', ['layer_id', 'start_dttm', 'end_dttm'], unique=False)
def downgrade():
op.drop_index('ti_dag_state', table_name='annotation')
op.drop_table('annotation')
op.drop_table('annotation_layer')