From 9dd463165427d35534e1e20821638287e7ff9667 Mon Sep 17 00:00:00 2001 From: Sungho Cho Date: Fri, 6 Dec 2019 15:30:48 -0500 Subject: [PATCH 1/6] Add original currency and amount fields to Bill model --- ...493cdc_add_original_currency_and_amount.py | 24 +++++++++++++++++++ ihatemoney/models.py | 3 +++ 2 files changed, 27 insertions(+) create mode 100644 ihatemoney/migrations/versions/e782dd493cdc_add_original_currency_and_amount.py diff --git a/ihatemoney/migrations/versions/e782dd493cdc_add_original_currency_and_amount.py b/ihatemoney/migrations/versions/e782dd493cdc_add_original_currency_and_amount.py new file mode 100644 index 00000000..8cd2545a --- /dev/null +++ b/ihatemoney/migrations/versions/e782dd493cdc_add_original_currency_and_amount.py @@ -0,0 +1,24 @@ +"""add original currency and original amount fields to Bill + +Revision ID: e782dd493cdc +Revises: 6c6fb2b7f229 +Create Date: 2019-12-06 15:12:46.116711 + +""" + +# revision identifiers, used by Alembic. +revision = 'e782dd493cdc' +down_revision = '6c6fb2b7f229' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.add_column("bill", sa.Column("original_amount", sa.Float(), nullable=True)) + op.add_column("bill", sa.Column("original_currency", sa.String(length=64), nullable=True)) + + +def downgrade(): + op.drop_column("bill", "original_amount") + op.drop_column("bill", "original_currency") diff --git a/ihatemoney/models.py b/ihatemoney/models.py index 250f009b..723677c2 100644 --- a/ihatemoney/models.py +++ b/ihatemoney/models.py @@ -358,6 +358,9 @@ class Bill(db.Model): what = db.Column(db.UnicodeText) external_link = db.Column(db.UnicodeText) + original_currency = db.Column(db.String(3)) + original_amount = db.Column(db.Float) + archive = db.Column(db.Integer, db.ForeignKey("archive.id")) @property From 0bcdc55af0675069216be272c15e37b7df0c8f99 Mon Sep 17 00:00:00 2001 From: Sungho Cho Date: Fri, 6 Dec 2019 15:32:11 -0500 Subject: [PATCH 2/6] Add default currency to Project model --- ihatemoney/models.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ihatemoney/models.py b/ihatemoney/models.py index 723677c2..544558a8 100644 --- a/ihatemoney/models.py +++ b/ihatemoney/models.py @@ -25,6 +25,8 @@ class Project(db.Model): contact_email = db.Column(db.String(128)) members = db.relationship("Person", backref="project") + default_currency = "USD" + @property def _to_serialize(self): obj = { From b707252767a6750549d652a40633c4f97f182278 Mon Sep 17 00:00:00 2001 From: Sungho Cho Date: Fri, 6 Dec 2019 15:38:20 -0500 Subject: [PATCH 3/6] Add minor fix to String length --- .../versions/e782dd493cdc_add_original_currency_and_amount.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ihatemoney/migrations/versions/e782dd493cdc_add_original_currency_and_amount.py b/ihatemoney/migrations/versions/e782dd493cdc_add_original_currency_and_amount.py index 8cd2545a..92c1c32b 100644 --- a/ihatemoney/migrations/versions/e782dd493cdc_add_original_currency_and_amount.py +++ b/ihatemoney/migrations/versions/e782dd493cdc_add_original_currency_and_amount.py @@ -16,7 +16,7 @@ import sqlalchemy as sa def upgrade(): op.add_column("bill", sa.Column("original_amount", sa.Float(), nullable=True)) - op.add_column("bill", sa.Column("original_currency", sa.String(length=64), nullable=True)) + op.add_column("bill", sa.Column("original_currency", sa.String(length=3), nullable=True)) def downgrade(): From c2076572883920d544f6c05543a26bea522b3d0d Mon Sep 17 00:00:00 2001 From: Sungho Cho Date: Fri, 6 Dec 2019 15:39:07 -0500 Subject: [PATCH 4/6] Reorganize the new migration file --- .../versions/e782dd493cdc_add_original_currency_and_amount.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ihatemoney/migrations/versions/e782dd493cdc_add_original_currency_and_amount.py b/ihatemoney/migrations/versions/e782dd493cdc_add_original_currency_and_amount.py index 92c1c32b..8cd160df 100644 --- a/ihatemoney/migrations/versions/e782dd493cdc_add_original_currency_and_amount.py +++ b/ihatemoney/migrations/versions/e782dd493cdc_add_original_currency_and_amount.py @@ -15,10 +15,10 @@ import sqlalchemy as sa def upgrade(): - op.add_column("bill", sa.Column("original_amount", sa.Float(), nullable=True)) op.add_column("bill", sa.Column("original_currency", sa.String(length=3), nullable=True)) + op.add_column("bill", sa.Column("original_amount", sa.Float(), nullable=True)) def downgrade(): - op.drop_column("bill", "original_amount") op.drop_column("bill", "original_currency") + op.drop_column("bill", "original_amount") From a83ebe3d7be2705d4d8a3bc6193c412646f09a6f Mon Sep 17 00:00:00 2001 From: Sungho Cho Date: Fri, 6 Dec 2019 15:48:41 -0500 Subject: [PATCH 5/6] Crete a migration file for Project.default_currency --- .../5cdb4f2e52c9_add_default_currency.py | 22 +++++++++++++++++++ ...493cdc_add_original_currency_and_amount.py | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 ihatemoney/migrations/versions/5cdb4f2e52c9_add_default_currency.py diff --git a/ihatemoney/migrations/versions/5cdb4f2e52c9_add_default_currency.py b/ihatemoney/migrations/versions/5cdb4f2e52c9_add_default_currency.py new file mode 100644 index 00000000..77a7517c --- /dev/null +++ b/ihatemoney/migrations/versions/5cdb4f2e52c9_add_default_currency.py @@ -0,0 +1,22 @@ +"""add project.default_currency field + +Revision ID: 5cdb4f2e52c9 +Revises: e782dd493cdc +Create Date: 2019-12-06 15:46:03.416256 + +""" + +# revision identifiers, used by Alembic. +revision = '5cdb4f2e52c9' +down_revision = 'e782dd493cdc' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.add_column("project", sa.Column("default_currency", sa.String(length=3), nullable=True)) + + +def downgrade(): + op.drop_column("project", "default_currency") diff --git a/ihatemoney/migrations/versions/e782dd493cdc_add_original_currency_and_amount.py b/ihatemoney/migrations/versions/e782dd493cdc_add_original_currency_and_amount.py index 8cd160df..0b17e902 100644 --- a/ihatemoney/migrations/versions/e782dd493cdc_add_original_currency_and_amount.py +++ b/ihatemoney/migrations/versions/e782dd493cdc_add_original_currency_and_amount.py @@ -1,4 +1,4 @@ -"""add original currency and original amount fields to Bill +"""add bill.original_currency and bill.original_amount fields Revision ID: e782dd493cdc Revises: 6c6fb2b7f229 From 2557d14fbc2090d150f5193ea140730571a409a4 Mon Sep 17 00:00:00 2001 From: Sungho Cho Date: Fri, 6 Dec 2019 15:50:16 -0500 Subject: [PATCH 6/6] Change models.py to have Project.default_currency --- ihatemoney/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ihatemoney/models.py b/ihatemoney/models.py index 544558a8..a69da732 100644 --- a/ihatemoney/models.py +++ b/ihatemoney/models.py @@ -25,7 +25,7 @@ class Project(db.Model): contact_email = db.Column(db.String(128)) members = db.relationship("Person", backref="project") - default_currency = "USD" + default_currency = db.Column(db.String(3)) @property def _to_serialize(self):