Uploaded image for project: 'mod-finance-storage'
  1. mod-finance-storage
  2. MODFISTO-46

Update transaction schema

    XMLWordPrintable

    Details

    • Type: Story
    • Status: Closed (View Workflow)
    • Priority: P3
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 4.0.0
    • Labels:
      None
    • Template:
    • Sprint:
      ACQ Sprint 76
    • Story Points:
      1
    • Development Team:
      Thunderjet

      Description

      Overview

      In order to support an idempotent transactions API for payments and credits we need to be able to specify sufficient information in the payment/credit to uniquely identify it.

      See the spike comments for additional context.

      Approach

      • Add new field: transaction.sourceInvoiceLineId - optional, UUID, no default
      • create a unique index in temporary_invoice_payments on:
        • sourceInvoiceLineId
        • sourceInvoiceId
        • amount
        • transactionType
        • fromFundId
        • toFundId

      NOTE: This only applies to the temporary_invoice_payments table. There has been some discussion about potentially needing a similar index on the transactions table but that will be covered in a separate story if needed

      Acceptance Criteria

      • The schema/db changes described above are made
      • examples are updated as needed
      • unit tests are updated as needed

        TestRail: Results

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                varunjavalkar Varun Javalkar
                Reporter:
                cmcnally Craig McNally
                Tester Assignee:
                Craig McNally Craig McNally
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    TestRail: Runs

                      TestRail: Cases