Enhance Docker and PowerShell scripts for improved functionality and maintainability
All checks were successful
Publish FaceAI Container / publish (push) Successful in 6m52s

- Updated Dockerfile to include default MySQL client for better database interaction.
- Modified entrypoint.sh to support additional workspace for legacy applications and added MySQL readiness check before startup.
- Enhanced PowerShell script for trimming MySQL dumps to include overlay dumps and improved error handling for missing race and user IDs.
- Added new image files and face encoding pickles for various projects, ensuring comprehensive data availability.
- Removed outdated face encoding pickle from PISA directory to maintain data relevance.

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
MaddoScientisto 2026-04-22 22:45:44 +02:00
commit dd7d4c865b
54 changed files with 492 additions and 144 deletions

View file

@ -1,7 +1,8 @@
#!/bin/sh
set -eu
seed_dump="${LOCAL_DB_SEED_DUMP:-pg-model-seed-trimmed-20260421.sql}"
seed_dump="${LOCAL_DB_SEED_DUMP:-pg-local-purpose-seed-20260422.sql}"
overlay_dump="${LOCAL_DB_OVERLAY_DUMP:-}"
if [ ! -f "/seed/${seed_dump}" ]; then
echo "Seed dump not found: /seed/${seed_dump}" >&2
@ -9,4 +10,12 @@ if [ ! -f "/seed/${seed_dump}" ]; then
fi
echo "Importing seed dump: ${seed_dump}"
mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" "${MYSQL_DATABASE}" < "/seed/${seed_dump}"
mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" "${MYSQL_DATABASE}" < "/seed/${seed_dump}"
if [ -n "${overlay_dump}" ] && [ -f "/seed/${overlay_dump}" ]; then
echo "Importing seed overlay: ${overlay_dump}"
mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" "${MYSQL_DATABASE}" < "/seed/${overlay_dump}"
elif [ -n "${overlay_dump}" ]; then
echo "Seed overlay not found: /seed/${overlay_dump}" >&2
exit 1
fi

View file

@ -1,6 +1,12 @@
#!/bin/sh
set -eu
LOCAL_TEST_USER_ID="${LOCAL_TEST_USER_ID:-2}"
LOCAL_TEST_USER_LOGIN="${LOCAL_TEST_USER_LOGIN:-test}"
LOCAL_TEST_USER_PASSWORD="${LOCAL_TEST_USER_PASSWORD:-test1}"
LOCAL_TEST_USER_EMAIL="${LOCAL_TEST_USER_EMAIL:-localtest@regalamiunsorriso.test}"
LOCAL_TEST_USER_HASH_SQL="REPLACE(TO_BASE64(SHA2('${LOCAL_TEST_USER_PASSWORD}', 256)), '\\n', '')"
mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" "${MYSQL_DATABASE}" <<SQL
INSERT INTO parm (codice, descrizione, testo, numero, tipoParm, flgTipo, flgAdmin, createTmst, lastUpdTmst)
VALUES
@ -30,4 +36,79 @@ ON DUPLICATE KEY UPDATE
flgTipo = VALUES(flgTipo),
flgAdmin = VALUES(flgAdmin),
lastUpdTmst = NOW();
INSERT INTO users (
id_users,
login,
id_userProfile,
pwd,
flgValido,
dataInizioVld,
dataFineVld,
nome,
cognome,
eMail,
lang,
nominativo,
dataScadenza,
dataCreazionePwd,
dataScadenzaPwd,
oldPwd,
pwdCrypt,
nFotoVisual,
nFotoMax,
createTmst
)
SELECT
${LOCAL_TEST_USER_ID},
'${LOCAL_TEST_USER_LOGIN}',
COALESCE(
(SELECT seed_profile.id_userProfile
FROM (SELECT id_userProfile FROM users WHERE id_userProfile IS NOT NULL ORDER BY id_users LIMIT 1) AS seed_profile),
9
),
${LOCAL_TEST_USER_HASH_SQL},
'S',
NULL,
NULL,
'Local',
'Test User',
'${LOCAL_TEST_USER_EMAIL}',
'it',
'Local Test User',
'2030-12-31',
CURRENT_DATE,
'2030-12-31',
CONCAT(${LOCAL_TEST_USER_HASH_SQL}, '|'),
'${LOCAL_TEST_USER_PASSWORD}',
0,
500,
NOW()
WHERE NOT EXISTS (
SELECT 1
FROM users
WHERE id_users = ${LOCAL_TEST_USER_ID}
);
UPDATE users
SET
login = '${LOCAL_TEST_USER_LOGIN}',
pwd = ${LOCAL_TEST_USER_HASH_SQL},
flgValido = 'S',
dataInizioVld = NULL,
dataFineVld = NULL,
nome = COALESCE(NULLIF(nome, ''), 'Local'),
cognome = COALESCE(NULLIF(cognome, ''), 'Test User'),
eMail = '${LOCAL_TEST_USER_EMAIL}',
lang = COALESCE(NULLIF(lang, ''), 'it'),
nominativo = 'Local Test User',
dataScadenza = '2030-12-31',
dataCreazionePwd = CURRENT_DATE,
dataScadenzaPwd = '2030-12-31',
oldPwd = CONCAT(${LOCAL_TEST_USER_HASH_SQL}, '|'),
pwdCrypt = '${LOCAL_TEST_USER_PASSWORD}',
nFotoVisual = COALESCE(nFotoVisual, 0),
nFotoMax = COALESCE(NULLIF(nFotoMax, 0), 500),
lastUpdTmst = NOW()
WHERE id_users = ${LOCAL_TEST_USER_ID};
SQL