Skip to content

Commit b8a1ad4

Browse files
committed
Clean up metadata in database, rely on docker metadata entirely
1 parent 4d74615 commit b8a1ad4

1 file changed

Lines changed: 1 addition & 35 deletions

File tree

util/SeederUtility/scripts/build-seeded-image.sh

Lines changed: 1 addition & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -217,15 +217,6 @@ if [[ "${DB_TYPE}" == "sqlite" ]]; then
217217
globalSettings__sqlite__connectionString="Data Source=${SQLITE_FILE}" \
218218
dotnet run --project . -- preset --name "${PRESET_NAME}"
219219

220-
# Metadata injected directly into the SQLite file via sqlite3 if available
221-
if command -v sqlite3 &>/dev/null; then
222-
sqlite3 "${SQLITE_FILE}" \
223-
"CREATE TABLE IF NOT EXISTS \"_SeederMetadata\" (\"Key\" TEXT PRIMARY KEY, \"Value\" TEXT);
224-
INSERT OR REPLACE INTO \"_SeederMetadata\" VALUES ('preset', '${PRESET_NAME}');
225-
INSERT OR REPLACE INTO \"_SeederMetadata\" VALUES ('git_sha', '${GIT_SHA}');
226-
INSERT OR REPLACE INTO \"_SeederMetadata\" VALUES ('built_at', '${BUILD_DATE}');"
227-
fi
228-
229220
_docker_build_and_push
230221
echo "==> Done: ${PRESET_NAME} (${DB_TYPE}) → ${TAG}"
231222
exit 0
@@ -359,44 +350,19 @@ case "${DB_TYPE}" in
359350
;;
360351
esac
361352

362-
# --- Write metadata, dump, cleanup ---
353+
# --- Dump database ---
363354
case "${DB_TYPE}" in
364355
postgres)
365356
docker exec "${CONTAINER_NAME}" \
366357
pg_dump --no-owner --no-acl -U "${DB_USER}" -d "${DB_NAME}" > "${WORK_DIR}/seed.sql"
367-
368-
cat >> "${WORK_DIR}/seed.sql" << EOF
369-
370-
-- Seeder metadata
371-
CREATE TABLE IF NOT EXISTS public."_SeederMetadata" ("Key" text PRIMARY KEY, "Value" text);
372-
INSERT INTO public."_SeederMetadata" VALUES ('preset', '${PRESET_NAME}') ON CONFLICT ("Key") DO UPDATE SET "Value" = EXCLUDED."Value";
373-
INSERT INTO public."_SeederMetadata" VALUES ('git_sha', '${GIT_SHA}') ON CONFLICT ("Key") DO UPDATE SET "Value" = EXCLUDED."Value";
374-
INSERT INTO public."_SeederMetadata" VALUES ('built_at', '${BUILD_DATE}') ON CONFLICT ("Key") DO UPDATE SET "Value" = EXCLUDED."Value";
375-
EOF
376358
;;
377359

378360
mysql|mariadb)
379361
docker exec "${CONTAINER_NAME}" \
380362
sh -c 'mysqldump -u root -p"'"${DB_PASS}"'" --no-tablespaces "'"${DB_NAME}"'" 2>/dev/null || mariadb-dump -u root -p"'"${DB_PASS}"'" --no-tablespaces "'"${DB_NAME}"'" 2>/dev/null' > "${WORK_DIR}/seed.sql"
381-
382-
cat >> "${WORK_DIR}/seed.sql" << EOF
383-
384-
-- Seeder metadata
385-
CREATE TABLE IF NOT EXISTS \`_SeederMetadata\` (\`Key\` varchar(255) PRIMARY KEY, \`Value\` text);
386-
INSERT INTO \`_SeederMetadata\` VALUES ('preset', '${PRESET_NAME}') ON DUPLICATE KEY UPDATE \`Value\` = VALUES(\`Value\`);
387-
INSERT INTO \`_SeederMetadata\` VALUES ('git_sha', '${GIT_SHA}') ON DUPLICATE KEY UPDATE \`Value\` = VALUES(\`Value\`);
388-
INSERT INTO \`_SeederMetadata\` VALUES ('built_at', '${BUILD_DATE}') ON DUPLICATE KEY UPDATE \`Value\` = VALUES(\`Value\`);
389-
EOF
390363
;;
391364

392365
mssql)
393-
# Write metadata before backup so it's baked in
394-
docker exec "${CONTAINER_NAME}" \
395-
/opt/mssql-tools18/bin/sqlcmd \
396-
-S localhost -U SA -P "${DB_PASS}" -C \
397-
-d "${DB_NAME}" \
398-
-Q "IF NOT EXISTS (SELECT * FROM sysobjects WHERE name='_SeederMetadata' AND xtype='U') CREATE TABLE [_SeederMetadata] ([Key] nvarchar(255) PRIMARY KEY, [Value] nvarchar(max)); MERGE [_SeederMetadata] AS t USING (VALUES ('preset','${PRESET_NAME}'),('git_sha','${GIT_SHA}'),('built_at','${BUILD_DATE}')) AS s([Key],[Value]) ON t.[Key]=s.[Key] WHEN MATCHED THEN UPDATE SET [Value]=s.[Value] WHEN NOT MATCHED THEN INSERT VALUES(s.[Key],s.[Value]);"
399-
400366
# Copy MDF/LDF files directly — avoids RESTORE issues on Kubernetes PVCs
401367
docker exec "${CONTAINER_NAME}" \
402368
/opt/mssql-tools18/bin/sqlcmd \

0 commit comments

Comments
 (0)