mirror of
https://github.com/apache/superset.git
synced 2024-09-12 08:39:45 -04:00
Merge pull request #196 from airbnb/fix_audit
Fixing issues around fk nullable=False on audit fields
This commit is contained in:
commit
0ccc19ff9b
164
dashed/migrations/versions/763d4b211ec9_fixing_audit_fk.py
Normal file
164
dashed/migrations/versions/763d4b211ec9_fixing_audit_fk.py
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
"""fixing audit fk
|
||||||
|
|
||||||
|
Revision ID: 763d4b211ec9
|
||||||
|
Revises: d2424a248d63
|
||||||
|
Create Date: 2016-03-24 14:13:44.817723
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision = '763d4b211ec9'
|
||||||
|
down_revision = 'd2424a248d63'
|
||||||
|
|
||||||
|
from alembic import op
|
||||||
|
import sqlalchemy as sa
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade():
|
||||||
|
op.alter_column('columns', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('columns', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('css_templates', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('css_templates', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('dashboards', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('dashboards', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('datasources', 'changed_by_fk',
|
||||||
|
existing_type=sa.INTEGER(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('datasources', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('datasources', 'created_by_fk',
|
||||||
|
existing_type=sa.INTEGER(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('datasources', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('dbs', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('dbs', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.add_column('metrics', sa.Column('changed_by_fk', sa.Integer(), nullable=True))
|
||||||
|
op.add_column('metrics', sa.Column('changed_on', sa.DateTime(), nullable=True))
|
||||||
|
op.add_column('metrics', sa.Column('created_by_fk', sa.Integer(), nullable=True))
|
||||||
|
op.add_column('metrics', sa.Column('created_on', sa.DateTime(), nullable=True))
|
||||||
|
op.create_foreign_key(None, 'metrics', 'ab_user', ['changed_by_fk'], ['id'])
|
||||||
|
op.create_foreign_key(None, 'metrics', 'ab_user', ['created_by_fk'], ['id'])
|
||||||
|
op.alter_column('slices', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('slices', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('sql_metrics', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('sql_metrics', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('table_columns', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('table_columns', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('tables', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('tables', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('url', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
op.alter_column('url', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=True)
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade():
|
||||||
|
op.alter_column('url', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('url', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('tables', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('tables', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('table_columns', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('table_columns', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('sql_metrics', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('sql_metrics', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('slices', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('slices', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.drop_constraint(None, 'metrics', type_='foreignkey')
|
||||||
|
op.drop_constraint(None, 'metrics', type_='foreignkey')
|
||||||
|
op.drop_column('metrics', 'created_on')
|
||||||
|
op.drop_column('metrics', 'created_by_fk')
|
||||||
|
op.drop_column('metrics', 'changed_on')
|
||||||
|
op.drop_column('metrics', 'changed_by_fk')
|
||||||
|
op.alter_column('dbs', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('dbs', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('datasources', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('datasources', 'created_by_fk',
|
||||||
|
existing_type=sa.INTEGER(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('datasources', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('datasources', 'changed_by_fk',
|
||||||
|
existing_type=sa.INTEGER(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('dashboards', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('dashboards', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('css_templates', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('css_templates', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('columns', 'created_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
||||||
|
op.alter_column('columns', 'changed_on',
|
||||||
|
existing_type=sa.DATETIME(),
|
||||||
|
nullable=False)
|
@ -1080,7 +1080,7 @@ class Log(Model):
|
|||||||
return wrapper
|
return wrapper
|
||||||
|
|
||||||
|
|
||||||
class DruidMetric(Model):
|
class DruidMetric(Model, AuditMixinNullable):
|
||||||
|
|
||||||
"""ORM object referencing Druid metrics for a datasource"""
|
"""ORM object referencing Druid metrics for a datasource"""
|
||||||
|
|
||||||
@ -1105,7 +1105,7 @@ class DruidMetric(Model):
|
|||||||
return obj
|
return obj
|
||||||
|
|
||||||
|
|
||||||
class DruidColumn(Model):
|
class DruidColumn(Model, AuditMixinNullable):
|
||||||
|
|
||||||
"""ORM model for storing Druid datasource column metadata"""
|
"""ORM model for storing Druid datasource column metadata"""
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user