From d8c7d553668ac319def1b2b00e4bb9af16d08130 Mon Sep 17 00:00:00 2001 From: Cayo Puigdefabregas Date: Fri, 18 Dec 2020 16:45:08 +0100 Subject: [PATCH] alembic for define the hash table --- .../versions/3eb50297c365_add_hash.py | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 ereuse_devicehub/migrations/versions/3eb50297c365_add_hash.py diff --git a/ereuse_devicehub/migrations/versions/3eb50297c365_add_hash.py b/ereuse_devicehub/migrations/versions/3eb50297c365_add_hash.py new file mode 100644 index 00000000..32be4e8d --- /dev/null +++ b/ereuse_devicehub/migrations/versions/3eb50297c365_add_hash.py @@ -0,0 +1,42 @@ +"""empty message + +Revision ID: 3eb50297c365 +Revises: 378b6b147b46 +Create Date: 2020-12-18 16:26:15.453694 + +""" +from alembic import context +from alembic import op +import sqlalchemy as sa +import sqlalchemy_utils +import citext +import teal + + +# revision identifiers, used by Alembic. +revision = '3eb50297c365' +down_revision = '378b6b147b46' +branch_labels = None +depends_on = None + + +def get_inv(): + INV = context.get_x_argument(as_dictionary=True).get('inventory') + if not INV: + raise ValueError("Inventory value is not specified") + return INV + +def upgrade(): + # Report Hash table + op.create_table('report_hash', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('created', sa.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), + nullable=False, comment='When Devicehub created this.'), + sa.Column('hash', citext.CIText(), nullable=False), + sa.PrimaryKeyConstraint('id'), + schema=f'{get_inv()}' + ) + + +def downgrade(): + op.drop_table('report_hash', schema=f'{get_inv()}')