Skip to content

Commit f5e70c6

Browse files
authored
fix(snaplet): add snaplet target DB var to SNAPSHOT_PATHs (#25)
Follow up to a previous PR #13 where support for `SNAPLET_TARGET_DB_NAME` was added, where there are use cases when using the same Taskfile commands, but for different DB connections and DB names. The `SNAPSHOT_PATH` where the snapshots are stored, did not have the `SNAPLET_TARGET_DB_NAME` identifier. This PR adds that. This is needed because if storing multiple DB snapshots, all snapshots are stored in the same directory of the .SNAPSHOT_ENV <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Chores** - Updated snapshot storage paths to include the database name for improved organization when downloading or restoring snapshots. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
1 parent 10973ca commit f5e70c6

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

lib/snaplet/Taskfile.yaml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,23 +111,25 @@ tasks:
111111
- task: validate-snaplet-bucket-access
112112
vars:
113113
RESTORE_SNAPSHOT: '{{.RESTORE_SNAPSHOT | default "latest"}}'
114-
SNAPSHOT_PATH: ".snaplet/snapshots/{{.SNAPSHOT_ENV}}/{{.RESTORE_SNAPSHOT}}"
114+
SNAPSHOT_PATH: ".snaplet/snapshots/{{.SNAPLET_TARGET_DB_NAME}}/{{.SNAPSHOT_ENV}}/{{.RESTORE_SNAPSHOT}}"
115115
requires:
116116
vars:
117117
- SNAPLET_BUCKET
118118
- SNAPSHOT_ENV
119119
- SNAPLET_TARGET_DB_NAME
120120
cmds:
121-
- aws s3 cp --quiet --sse=AES256 --recursive {{.SNAPLET_BUCKET}}/{{SNAPLET_TARGET_DB_NAME}}/{{.SNAPSHOT_ENV}}/{{.RESTORE_SNAPSHOT}} {{.SNAPSHOT_PATH}}
121+
- aws s3 cp --quiet --sse=AES256 --recursive {{.SNAPLET_BUCKET}}/{{.SNAPLET_TARGET_DB_NAME}}/{{.SNAPSHOT_ENV}}/{{.RESTORE_SNAPSHOT}} {{.SNAPSHOT_PATH}}
122122
- printf "\n\n⬇ Snapshot downloaded to {{.SNAPSHOT_PATH}}\n\n"
123123

124124
restore:
125125
desc: Restores the given RESTORE_SNAPSHOT to the SNAPLET_TARGET_DATABASE_URL database.
126126
silent: true
127+
env:
128+
SNAPLET_TARGET_DATABASE_URL: "{{.SNAPLET_TARGET_DATABASE_URL}}"
127129
vars:
128130
RESTORE_OPTIONS: '{{.RESTORE_OPTIONS | default ""}}'
129131
RESTORE_SNAPSHOT: '{{.RESTORE_SNAPSHOT | default "latest"}}'
130-
SNAPSHOT_PATH: .snaplet/snapshots/{{.SNAPSHOT_ENV}}/{{.RESTORE_SNAPSHOT}}
132+
SNAPSHOT_PATH: .snaplet/snapshots/{{.SNAPLET_TARGET_DB_NAME}}/{{.SNAPSHOT_ENV}}/{{.RESTORE_SNAPSHOT}}
131133
requires:
132134
vars:
133135
- SNAPLET_TARGET_DATABASE_URL
@@ -141,7 +143,7 @@ tasks:
141143
silent: true
142144
vars:
143145
RESTORE_SNAPSHOT: '{{.RESTORE_SNAPSHOT | default "latest"}}'
144-
SNAPSHOT_PATH: .snaplet/snapshots/{{.SNAPSHOT_ENV}}/{{.RESTORE_SNAPSHOT}}
146+
SNAPSHOT_PATH: .snaplet/snapshots/{{.SNAPLET_TARGET_DB_NAME}}/{{.SNAPSHOT_ENV}}/{{.RESTORE_SNAPSHOT}}
145147
requires:
146148
vars:
147149
- SNAPLET_TARGET_DATABASE_URL

0 commit comments

Comments
 (0)