NexusDashboard/migrations/versions/fa97b0d0c351_property_performance_index.py

57 lines
1.5 KiB
Python
Raw Normal View History

2022-03-31 23:05:28 +00:00
"""property performance index
Revision ID: fa97b0d0c351
Revises: b470795db8e1
Create Date: 2022-03-31 10:38:06.367277
"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import mysql
from sqlalchemy import engine_from_config
from sqlalchemy.engine import reflection
# revision identifiers, used by Alembic.
revision = 'fa97b0d0c351'
down_revision = 'b470795db8e1'
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
if not _table_has_column('properties', 'performance_cost'):
op.add_column(
'properties',
sa.Column(
'performance_cost',
mysql.DOUBLE(
precision=20,
scale=15,
asdecimal=False
),
server_default='0.0',
nullable=True
)
)
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column('properties', 'performance_cost')
# ### end Alembic commands ###
def _table_has_column(table, column):
config = op.get_context().config
engine = engine_from_config(
config.get_section(config.config_ini_section), prefix='sqlalchemy.')
insp = reflection.Inspector.from_engine(engine)
has_column = False
for col in insp.get_columns(table):
if column not in col['name']:
continue
has_column = True
return has_column