diff --git a/CHANGELOG.md b/CHANGELOG.md index 01024d2d..8e179164 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ ml). ## testing [1.0.8-beta] +- [bugfix] #161 fixing DataStorage with bigInteger ## [1.0.7-beta] - [addend] #158 support for encrypted snapshots data diff --git a/ereuse_devicehub/migrations/versions/0103a9c96b2d_testdatastorage_bigintegers.py b/ereuse_devicehub/migrations/versions/0103a9c96b2d_testdatastorage_bigintegers.py new file mode 100644 index 00000000..87d0626f --- /dev/null +++ b/ereuse_devicehub/migrations/versions/0103a9c96b2d_testdatastorage_bigintegers.py @@ -0,0 +1,38 @@ +"""TestDataStorage_bigIntegers + +Revision ID: 0103a9c96b2d +Revises: 3a3601ac8224 +Create Date: 2021-07-21 08:56:48.342503 + +""" +from alembic import op, context +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '0103a9c96b2d' +down_revision = '3a3601ac8224' +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(): + op.alter_column('test_data_storage', 'reallocated_sector_count', type_=sa.BigInteger(), schema=f'{get_inv()}') + op.alter_column('test_data_storage', 'power_cycle_count', type_=sa.Integer(), schema=f'{get_inv()}') + op.alter_column('test_data_storage', '_reported_uncorrectable_errors', type_=sa.BigInteger(), schema=f'{get_inv()}') + op.alter_column('test_data_storage', 'current_pending_sector_count', type_=sa.BigInteger(), schema=f'{get_inv()}') + op.alter_column('test_data_storage', 'offline_uncorrectable', type_=sa.BigInteger(), schema=f'{get_inv()}') + + +def downgrade(): + op.alter_column('test_data_storage', 'reallocated_sector_count', type_=sa.SmallInteger(), schema=f'{get_inv()}') + op.alter_column('test_data_storage', 'power_cycle_count', type_=sa.SmallInteger(), schema=f'{get_inv()}') + op.alter_column('test_data_storage', '_reported_uncorrectable_errors', type_=sa.Integer(), schema=f'{get_inv()}') + op.alter_column('test_data_storage', 'current_pending_sector_count', type_=sa.Integer(), schema=f'{get_inv()}') + op.alter_column('test_data_storage', 'offline_uncorrectable', type_=sa.Integer(), schema=f'{get_inv()}') diff --git a/ereuse_devicehub/resources/action/models.py b/ereuse_devicehub/resources/action/models.py index d8bcb3ce..29b32c00 100644 --- a/ereuse_devicehub/resources/action/models.py +++ b/ereuse_devicehub/resources/action/models.py @@ -754,12 +754,12 @@ class TestDataStorage(TestMixin, Test): status = Column(Unicode(), check_lower('status'), nullable=False) lifetime = Column(Interval) assessment = Column(Boolean) - reallocated_sector_count = Column(SmallInteger) - power_cycle_count = Column(SmallInteger) - _reported_uncorrectable_errors = Column('reported_uncorrectable_errors', Integer) + reallocated_sector_count = Column(BigInteger) + power_cycle_count = Column(Integer) + _reported_uncorrectable_errors = Column('reported_uncorrectable_errors', BigInteger) command_timeout = Column(BigInteger) - current_pending_sector_count = Column(Integer) - offline_uncorrectable = Column(Integer) + current_pending_sector_count = Column(BigInteger) + offline_uncorrectable = Column(BigInteger) remaining_lifetime_percentage = Column(SmallInteger) elapsed = Column(Interval, nullable=False)