-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added new database migration file validation workflow
- Loading branch information
1 parent
2a9a783
commit 6978f63
Showing
2 changed files
with
110 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
name: Flyway Migration Files | ||
|
||
on: | ||
pull_request: | ||
branches: | ||
- '**' | ||
|
||
jobs: | ||
validate: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout current branch | ||
uses: actions/checkout@v3 | ||
|
||
- name: Fetch base branch | ||
run: | | ||
git fetch origin +refs/heads/${{ github.base_ref }}:refs/remotes/origin/${{ github.base_ref }} | ||
- name: Check for new migration files | ||
run: | | ||
echo "Checking for new migration files..." | ||
# Set the directory for migrations | ||
MIGRATION_DIR=src/main/resources/db/migration | ||
# Get latest migration files from the base branch | ||
BASE_MIGRATION_FILES=$(git ls-tree -r --name-only origin/${{ github.base_ref }} -- $MIGRATION_DIR) | ||
# Extract all timestamps from base migration files | ||
BASE_TIMESTAMPS=$(echo "$BASE_MIGRATION_FILES" | awk -F'_' '{print $1}' | sort -n | uniq) | ||
# List current migration files | ||
CURRENT_MIGRATION_FILES=$(ls $MIGRATION_DIR) | ||
echo "Current migration files: $CURRENT_MIGRATION_FILES" | ||
# Get the new migration files added in the current branch | ||
NEW_MIGRATION_FILES=$(git diff --name-only origin/${{ github.base_ref }} -- $MIGRATION_DIR) | ||
# Check for new migration files and their timestamps | ||
for FILE in $NEW_MIGRATION_FILES; do | ||
TIMESTAMP=$(echo $FILE | awk -F'_' '{print $1}') | ||
# Ensure the timestamp is valid | ||
if [[ -z "$TIMESTAMP" ]]; then | ||
echo "File $FILE does not have a valid timestamp." | ||
exit 1 | ||
fi | ||
# Check if the timestamp is earlier than any base timestamps | ||
for BASE_TIMESTAMP in $BASE_TIMESTAMPS; do | ||
if [[ "$TIMESTAMP" < "$BASE_TIMESTAMP" ]]; then | ||
echo "Error: Timestamp $TIMESTAMP in $FILE is earlier than base migration timestamp $BASE_TIMESTAMP." | ||
exit 1 | ||
fi | ||
done | ||
done | ||
echo "All new migration files are valid." |
52 changes: 52 additions & 0 deletions
52
src/main/resources/db/migration/V2024_10_10_1047__new_scenario.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
/** | ||
* Add scenario | ||
*/ | ||
INSERT INTO dbs.scenario (name, notifications_to_delete, notifications_to_create) | ||
VALUES ('Scenario.AAA6.JudgmentsOnline.IssuedCCJ.Claimant', | ||
'{"Notice.AAA6.ClaimantIntent.CCJ.Requested.Claimant", | ||
"Notice.AAA6.ClaimantIntent.RequestedCCJ.ClaimantAcceptedDefendantPlan.Claimant", | ||
"Notice.AAA6.ClaimantIntent.RequestCCJ.ClaimantAcceptOrRejectPlan.SettlementRequested.NoDefResponse.Claimant", | ||
"Notice.AAA6.ClaimantIntent.RequestCCJ.ClaimantAcceptOrRejectPlan.SettlementRequested.DefPaymentMissed.Claimant"}', | ||
'{"Notice.AAA6.JudgmentsOnline.IssuedCCJ.Claimant": ["djClaimantNotificationMessage", "djClaimantNotificationMessageCy"]}'); | ||
|
||
/** | ||
* Add notification template | ||
*/ | ||
INSERT INTO dbs.dashboard_notifications_templates ( template_name, title_En, title_Cy, description_En, description_Cy | ||
, notification_role) | ||
VALUES ('Notice.AAA6.JudgmentsOnline.IssuedCCJ.Claimant', | ||
'A judgment against the defendant has been made', | ||
'Mae dyfarniad wedi’i wneud yn erbyn y diffynnydd', | ||
'<p class="govuk-body">The defendant should now pay you according to the terms of the judgment. <br> Once they do, you should <a href="{CONFIRM_YOU_HAVE_BEEN_PAID_URL}" class="govuk-link">confirm that they’ve paid you the full amount that you’re owed</a>.<br>If they do not pay you by the date on the judgment, you can <u>ask for enforcement action to be taken against them</u>. <br>If you need to change the terms of payment within the judgment, such as the instalments you had previously agreed, you can ${djClaimantNotificationMessage}.</p>', | ||
'<p class="govuk-body">Dylai’r diffynnydd eich talu yn unol â thelerau’r dyfarniad. <br> Unwaith y byddant yn gwneud hynny, dylech <a href="{CONFIRM_YOU_HAVE_BEEN_PAID_URL}" class="govuk-link">gadarnhau eu bod wedi talu’r swm llawn sy’n ddyledus i chi</a>.<br>Os na fyddant yn eich talu erbyn y dyddiad ar y dyfarniad, gallwch <u>ofyn am gymryd camau gorfodi yn eu herbyn</u>. <br>Os oes arnoch angen newid y telerau talu o fewn y dyfarniad, fel y rhandaliadau roeddech wedi cytuno arnynt yn flaenorol, gallwch ${djClaimantNotificationMessageCy}.</p>', | ||
'CLAIMANT'); | ||
|
||
/** | ||
* Add task list items claimant | ||
*/ | ||
INSERT INTO dbs.task_item_template (task_name_en, category_en, task_name_cy, category_cy, template_name, | ||
scenario_name, task_status_sequence, role, task_order) | ||
VALUES ('<a>View the hearing</a>', 'Hearing', | ||
'<a>Gweld y gwrandawiad</a>', 'Gwrandawiad', | ||
'Hearing.View', 'Scenario.AAA6.JudgmentsOnline.IssuedCCJ.Claimant', '{2, 2}', 'CLAIMANT', 8), | ||
('<a>Upload hearing documents</a>', 'Hearing', | ||
'<a>Llwytho dogfennau''r gwrandawiad</a>', 'Gwrandawiad', | ||
'Hearing.Document.Upload', 'Scenario.AAA6.JudgmentsOnline.IssuedCCJ.Claimant', '{2, 2}', 'CLAIMANT', 9), | ||
('<a>View documents</a>', 'Hearing', | ||
'<a>Gweld y dogfennau</a>', 'Gwrandawiad', | ||
'Hearing.Document.View', 'Scenario.AAA6.JudgmentsOnline.IssuedCCJ.Claimant', '{2, 2}', 'CLAIMANT', 10), | ||
('<a>Add the trial arrangements</a>', 'Hearing', | ||
'<a>Ychwanegu trefniadau''r treial</a>', 'Gwrandawiad', | ||
'Hearing.Arrangements.Add', 'Scenario.AAA6.JudgmentsOnline.IssuedCCJ.Claimant', '{2, 2}', 'CLAIMANT', 11), | ||
('<a>View the bundle</a>', 'Hearing', | ||
'<a>Gweld y bwndel</a>', 'Gwrandawiad', | ||
'Hearing.Bundle.View', 'Scenario.AAA6.JudgmentsOnline.IssuedCCJ.Claimant', '{2, 2}', 'CLAIMANT', 12), | ||
('<a href={VIEW_ORDERS_AND_NOTICES} rel="noopener noreferrer" class="govuk-link">View orders and notices</a>', 'Orders and notices from the court', | ||
'<a href={VIEW_ORDERS_AND_NOTICES} rel="noopener noreferrer" class="govuk-link">Gweld gorchmynion a rhybuddion</a>', 'Gorchmynion a rhybuddion gan y llys', | ||
'Order.View', 'Scenario.AAA6.JudgmentsOnline.IssuedCCJ.Claimant', '{3, 3}', 'CLAIMANT', 13), | ||
('<a href={VIEW_JUDGEMENT} class="govuk-link">View the judgment</a>', 'Judgments from the court', | ||
'<a href={VIEW_JUDGEMENT} class="govuk-link">Gweld y Dyfarniad</a>', 'Dyfarniadau gan y llys', | ||
'Judgment.View', 'Scenario.AAA6.JudgmentsOnline.IssuedCCJ.Claimant', '{3, 3}', 'CLAIMANT', 14), | ||
('<a href={COMFIRM_YOU_PAID_JUDGMENT_DEBT} class="govuk-link">Confirm you''ve paid a judgment (CCJ) debt</a>', 'Judgments from the court', | ||
'<a href={COMFIRM_YOU_PAID_JUDGMENT_DEBT} class="govuk-link">Cadarnhewch eich bod wedi talu dyled dyfarniad (CCJ)</a>', 'Dyfarniadau gan y llys', | ||
'Judgment.Cosc', 'Scenario.AAA6.JudgmentsOnline.IssuedCCJ.Claimant', '{3, 3}', 'CLAIMANT', 15); |