Allowing all extra fields in AuditMixin to be nullable
This commit is contained in:
parent
fb6a9977f7
commit
95b7b9779b
|
|
@ -0,0 +1,100 @@
|
|||
"""making audit nullable
|
||||
|
||||
Revision ID: 18e88e1cc004
|
||||
Revises: 430039611635
|
||||
Create Date: 2016-03-13 21:30:24.833107
|
||||
|
||||
"""
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '18e88e1cc004'
|
||||
down_revision = '430039611635'
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
|
||||
def upgrade():
|
||||
### commands auto generated by Alembic - please adjust! ###
|
||||
op.alter_column('clusters', 'changed_on',
|
||||
existing_type=sa.DATETIME(),
|
||||
nullable=True)
|
||||
op.alter_column('clusters', 'created_on',
|
||||
existing_type=sa.DATETIME(),
|
||||
nullable=True)
|
||||
|
||||
try:
|
||||
op.drop_constraint(None, 'columns', type_='foreignkey')
|
||||
op.drop_constraint(None, 'columns', type_='foreignkey')
|
||||
op.drop_column('columns', 'created_on')
|
||||
op.drop_column('columns', 'created_by_fk')
|
||||
op.drop_column('columns', 'changed_on')
|
||||
op.drop_column('columns', 'changed_by_fk')
|
||||
except:
|
||||
pass
|
||||
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.create_unique_constraint(None, 'dashboards', ['slug'])
|
||||
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.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)
|
||||
### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade():
|
||||
pass
|
||||
|
|
@ -35,6 +35,10 @@ QueryResult = namedtuple('namedtuple', ['df', 'query', 'duration'])
|
|||
|
||||
|
||||
class AuditMixinNullable(AuditMixin):
|
||||
created_on = Column(DateTime, default=datetime.now, nullable=True)
|
||||
changed_on = Column(
|
||||
DateTime, default=datetime.now,
|
||||
onupdate=datetime.now, nullable=True)
|
||||
@declared_attr
|
||||
def created_by_fk(cls):
|
||||
return Column(Integer, ForeignKey('ab_user.id'),
|
||||
|
|
|
|||
Loading…
Reference in New Issue