mirror of
https://github.com/cwinfo/powerdns-admin.git
synced 2024-09-19 14:59:35 +00:00
94becb35c6
Fix #404
49 lines
2.4 KiB
Python
49 lines
2.4 KiB
Python
"""Change setting.value data type
|
|
|
|
Revision ID: 1274ed462010
|
|
Revises: 59729e468045
|
|
Create Date: 2018-08-21 17:12:30.058782
|
|
|
|
"""
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision = '1274ed462010'
|
|
down_revision = '59729e468045'
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def update_data():
|
|
setting_table = sa.sql.table('setting',
|
|
sa.sql.column('id', sa.Integer),
|
|
sa.sql.column('name', sa.String),
|
|
sa.sql.column('value', sa.String),
|
|
sa.sql.column('view', sa.String)
|
|
)
|
|
|
|
# add more new settings
|
|
op.bulk_insert(setting_table,
|
|
[
|
|
{'id': 42, 'name': 'forward_records_allow_edit', 'value': "{'A': True, 'AAAA': True, 'AFSDB': False, 'ALIAS': False, 'CAA': True, 'CERT': False, 'CDNSKEY': False, 'CDS': False, 'CNAME': True, 'DNSKEY': False, 'DNAME': False, 'DS': False, 'HINFO': False, 'KEY': False, 'LOC': True, 'MX': True, 'NAPTR': False, 'NS': True, 'NSEC': False, 'NSEC3': False, 'NSEC3PARAM': False, 'OPENPGPKEY': False, 'PTR': True, 'RP': False, 'RRSIG': False, 'SOA': False, 'SPF': True, 'SSHFP': False, 'SRV': True, 'TKEY': False, 'TSIG': False, 'TLSA': False, 'SMIMEA': False, 'TXT': True, 'URI': False}", 'view': 'records'},
|
|
{'id': 43, 'name': 'reverse_records_allow_edit', 'value': "{'A': False, 'AAAA': False, 'AFSDB': False, 'ALIAS': False, 'CAA': False, 'CERT': False, 'CDNSKEY': False, 'CDS': False, 'CNAME': False, 'DNSKEY': False, 'DNAME': False, 'DS': False, 'HINFO': False, 'KEY': False, 'LOC': True, 'MX': False, 'NAPTR': False, 'NS': True, 'NSEC': False, 'NSEC3': False, 'NSEC3PARAM': False, 'OPENPGPKEY': False, 'PTR': True, 'RP': False, 'RRSIG': False, 'SOA': False, 'SPF': False, 'SSHFP': False, 'SRV': False, 'TKEY': False, 'TSIG': False, 'TLSA': False, 'SMIMEA': False, 'TXT': True, 'URI': False}", 'view': 'records'},
|
|
]
|
|
)
|
|
|
|
def upgrade():
|
|
with op.batch_alter_table('setting') as batch_op:
|
|
# change column data type
|
|
batch_op.alter_column('value', existing_type=sa.String(256), type_=sa.Text())
|
|
# update data for new schema
|
|
update_data()
|
|
|
|
|
|
def downgrade():
|
|
# delete added records in previous version
|
|
op.execute("DELETE FROM setting WHERE id > 41")
|
|
with op.batch_alter_table('setting') as batch_op:
|
|
# change column data type
|
|
batch_op.alter_column('value', existing_type=sa.Text(), type_=sa.String(256))
|