diff --git a/cloudkitty/storage/sqlalchemy/alembic/versions/307430ab38bc_improve_qty_precision.py b/cloudkitty/storage/sqlalchemy/alembic/versions/307430ab38bc_improve_qty_precision.py new file mode 100644 index 00000000..3feaa87f --- /dev/null +++ b/cloudkitty/storage/sqlalchemy/alembic/versions/307430ab38bc_improve_qty_precision.py @@ -0,0 +1,35 @@ +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +"""improve qty precision + +Revision ID: 307430ab38bc +Revises: 792b438b663 +Create Date: 2016-09-05 18:37:26.714065 + +""" + +# revision identifiers, used by Alembic. +revision = '307430ab38bc' +down_revision = '792b438b663' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + with op.batch_alter_table('rated_data_frames') as batch_op: + batch_op.alter_column( + 'qty', + type_=sa.Numeric(10, 5), + existing_type=sa.Numeric()) diff --git a/cloudkitty/storage/sqlalchemy/models.py b/cloudkitty/storage/sqlalchemy/models.py index 5be55ad9..e4d092c3 100644 --- a/cloudkitty/storage/sqlalchemy/models.py +++ b/cloudkitty/storage/sqlalchemy/models.py @@ -44,7 +44,7 @@ class RatedDataFrame(Base, models.ModelBase): nullable=False) unit = sqlalchemy.Column(sqlalchemy.String(255), nullable=False) - qty = sqlalchemy.Column(sqlalchemy.Numeric(), + qty = sqlalchemy.Column(sqlalchemy.Numeric(10, 5), nullable=False) res_type = sqlalchemy.Column(sqlalchemy.String(255), nullable=False) diff --git a/cloudkitty/transformer/format.py b/cloudkitty/transformer/format.py index 44a7fd9b..a124f13a 100644 --- a/cloudkitty/transformer/format.py +++ b/cloudkitty/transformer/format.py @@ -19,7 +19,7 @@ from cloudkitty import transformer class CloudKittyFormatTransformer(transformer.BaseTransformer): - def format_item(self, desc, unit, qty=1): + def format_item(self, desc, unit, qty=1.0): data = {} data['desc'] = desc data['vol'] = {'unit': unit, 'qty': qty}