Create new migration to convert column type of defense_component from
string to array
This commit is contained in:
parent
d0fd7126be
commit
dad54ec139
@ -0,0 +1,36 @@
|
||||
"""update portfolios defense component column type
|
||||
|
||||
Revision ID: 02ac8bdcf16f
|
||||
Revises: 08f2a640e9c2
|
||||
Create Date: 2019-12-26 16:10:54.366461
|
||||
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects import postgresql
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '02ac8bdcf16f' # pragma: allowlist secret
|
||||
down_revision = '08f2a640e9c2' # pragma: allowlist secret
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
### commands auto generated by Alembic - please adjust! ###
|
||||
op.alter_column('portfolios', 'defense_component',
|
||||
type_=postgresql.ARRAY(sa.VARCHAR()),
|
||||
existing_type=sa.VARCHAR(),
|
||||
postgresql_using="string_to_array(defense_component, ',')::character varying[]",
|
||||
nullable=False)
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.alter_column('portfolios', 'defense_component',
|
||||
type_=sa.VARCHAR(),
|
||||
existing_type=postgresql.ARRAY(sa.VARCHAR()),
|
||||
postgresql_using="defense_component[1]::character varying",
|
||||
nullable=False)
|
||||
# ### end Alembic commands ###
|
@ -1,5 +1,6 @@
|
||||
from sqlalchemy import Column, String
|
||||
from sqlalchemy.orm import relationship
|
||||
from sqlalchemy.types import ARRAY
|
||||
from itertools import chain
|
||||
|
||||
from atst.models.base import Base
|
||||
@ -20,7 +21,7 @@ class Portfolio(
|
||||
name = Column(String, nullable=False)
|
||||
description = Column(String)
|
||||
defense_component = Column(
|
||||
String, nullable=False
|
||||
ARRAY(String), nullable=False
|
||||
) # Department of Defense Component
|
||||
|
||||
applications = relationship(
|
||||
|
@ -41,9 +41,9 @@
|
||||
|
||||
<div class='defense-row'>
|
||||
<div>
|
||||
<div class='admin-title'>{{ "forms.task_order.defense_component_label" | translate }}</div>
|
||||
<div class='admin-title'>{{ "portfolios.admin.defense_component_label" | translate }}</div>
|
||||
{% if portfolio.defense_component %}
|
||||
<div class='admin-content'>{{ portfolio.defense_component }}</div>
|
||||
<div class='admin-content'>{{ "forms.portfolio.defense_component.choices.%s" | format(portfolio.defense_component) | translate }}</div>
|
||||
{% else %}
|
||||
<div class='admin-content'>{{ "fragments.portfolio_admin.none" | translate }}</div>
|
||||
{% endif %}
|
||||
|
@ -310,6 +310,7 @@ portfolios:
|
||||
alert_header: Are you sure you want to delete this member?
|
||||
alert_message: 'The member will be removed from the portfolio, but their log history will be retained.'
|
||||
alert_title: Warning! You are about to delete a member from the portfolio.
|
||||
defense_component_label: Department of Defense Component
|
||||
no_members: There are currently no members in this portfolio.
|
||||
permissions_info: Learn more about these permissions
|
||||
portfolio_members_subheading: These members have different levels of access to the portfolio.
|
||||
|
Loading…
x
Reference in New Issue
Block a user