Publish Ludarium source
Public source validation / source (push) Successful in 2m16s

This commit is contained in:
Ludarium release export
2026-09-03 02:08:58 +02:00
commit df869819ce
339 changed files with 46455 additions and 0 deletions
+74
View File
@@ -0,0 +1,74 @@
#!/usr/bin/env bash
set -Eeuo pipefail
database="${POSTGRES_DB:-ludarium}"
database_user="${POSTGRES_USER:-ludarium}"
if [[ ! "$database" =~ ^[A-Za-z_][A-Za-z0-9_]*$ ]]; then
echo "PostgreSQL collation repair requires a simple validated database identifier." >&2
exit 1
fi
psql_base=(psql -v ON_ERROR_STOP=1 -U "$database_user" -d "$database")
versions="$("${psql_base[@]}" -At -F '|' -c \
"select coalesce(datcollversion,''),coalesce(pg_database_collation_actual_version(oid),'') from pg_database where datname=current_database()")"
IFS='|' read -r stored_version actual_version <<< "$versions"
if [[ -z "$actual_version" || "$stored_version" == "$actual_version" ]]; then
exit 0
fi
printf 'PostgreSQL collation drift detected for %s: stored=%s actual=%s\n' \
"$database" "${stored_version:-<unversioned>}" "$actual_version"
has_platform_definitions="$("${psql_base[@]}" -At -c \
"select to_regclass('public.platform_definitions') is not null")"
if [[ "$has_platform_definitions" == "t" ]]; then
unsafe_duplicates="$("${psql_base[@]}" -At -c "
with duplicate_ids as (
select id from platform_definitions group by id having count(*) > 1
), variants as (
select p.id,
count(distinct jsonb_build_object(
'custom',p.custom,'enabled',p.enabled,'version',p.version,
'data',p.data - 'updatedAt')) as semantic_variants,
bool_or(p.custom) as contains_custom
from platform_definitions p join duplicate_ids d using(id)
group by p.id
)
select count(*) from variants where contains_custom or semantic_variants <> 1")"
if [[ "$unsafe_duplicates" != "0" ]]; then
echo "Collation repair found ambiguous or custom platform duplicates; refusing automatic data changes." >&2
exit 1
fi
removed_duplicates="$("${psql_base[@]}" -At -c "
with ranked as (
select ctid,row_number() over(partition by id order by updated_at desc,ctid desc) as ordinal
from platform_definitions
), removed as (
delete from platform_definitions p using ranked r
where p.ctid=r.ctid and r.ordinal > 1 returning 1
)
select count(*) from removed")"
if [[ "$removed_duplicates" != "0" ]]; then
printf 'Removed %s semantically identical built-in platform duplicate(s) before reindex.\n' "$removed_duplicates"
fi
fi
"${psql_base[@]}" -c "REINDEX DATABASE \"$database\"" >/dev/null
if [[ -z "$stored_version" ]]; then
"${psql_base[@]}" -c "
update pg_database
set datcollversion=pg_database_collation_actual_version(oid)
where datname=current_database() and datcollversion is null" >/dev/null
else
"${psql_base[@]}" -c "ALTER DATABASE \"$database\" REFRESH COLLATION VERSION" >/dev/null
fi
refreshed_version="$("${psql_base[@]}" -At -c \
"select coalesce(datcollversion,'') from pg_database where datname=current_database()")"
if [[ "$refreshed_version" != "$actual_version" ]]; then
echo "PostgreSQL collation version did not refresh to the runtime version." >&2
exit 1
fi
printf 'PostgreSQL collation indexes rebuilt and version refreshed to %s.\n' "$refreshed_version"