65 lines
2.2 KiB
Python
65 lines
2.2 KiB
Python
"""Add ebom tables
|
|
|
|
Revision ID: 00817cda9d17
|
|
Revises: a904d0d1e1a7
|
|
Create Date: 2016-09-01 14:05:49.858683
|
|
|
|
"""
|
|
|
|
# revision identifiers, used by Alembic.
|
|
from sqlalchemy.orm import backref
|
|
from helix.constants.inverter_type import InverterType
|
|
|
|
revision = '00817cda9d17'
|
|
down_revision = 'a904d0d1e1a7'
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
|
|
def upgrade():
|
|
op.create_table(
|
|
'power_stations',
|
|
sa.Column('id', sa.Integer, primary_key=True),
|
|
sa.Column('site_id', sa.Integer, sa.ForeignKey('sites.id')),
|
|
sa.Column('quantity', sa.Integer, nullable=False),
|
|
sa.Column('ac_run_length', sa.Integer, nullable=False),
|
|
sa.Column('description', sa.Unicode, nullable=False),
|
|
)
|
|
|
|
op.create_table(
|
|
'standalone_inverters',
|
|
sa.Column('id', sa.Integer, primary_key=True),
|
|
sa.Column('site_id', sa.Integer, sa.ForeignKey('sites.id')),
|
|
sa.Column('attachment_point_id', sa.Integer, sa.ForeignKey('power_stations.id')),
|
|
sa.Column('ac_run_length', sa.Integer, nullable=False),
|
|
)
|
|
|
|
op.create_table(
|
|
'inverters',
|
|
sa.Column('id', sa.Integer, primary_key=True),
|
|
sa.Column('model', sa.Enum(str(InverterType.SMA.MODEL_12KW.value), str(InverterType.SMA.MODEL_15KW.value), str(InverterType.SMA.MODEL_20KW.value), str(InverterType.SMA.MODEL_24KW.value), name='InverterType'), nullable=False),
|
|
sa.Column('strings_per_inverter', sa.Integer, nullable=False),
|
|
sa.Column('sunshade', sa.Boolean),
|
|
sa.Column('dc_switch', sa.Boolean),
|
|
sa.Column('power_station_id', sa.Integer, sa.ForeignKey('power_stations.id')),
|
|
sa.Column('standalone_inverter_id', sa.Integer, sa.ForeignKey('standalone_inverters.id')),
|
|
)
|
|
|
|
op.create_table(
|
|
'power_monitors',
|
|
sa.Column('id', sa.Integer, primary_key=True),
|
|
sa.Column('site_id', sa.Integer, sa.ForeignKey('sites.id')),
|
|
sa.Column('power_station_id', sa.Integer, sa.ForeignKey('power_stations.id'))
|
|
)
|
|
|
|
|
|
def downgrade():
|
|
op.drop_table('inverters')
|
|
op.drop_table('power_monitors')
|
|
op.drop_table('power_stations')
|
|
op.drop_table('standalone_inverters')
|
|
sa.Enum(name='InverterType').drop(op.get_bind(), checkfirst=False)
|