chore: сохранение текущих изменений (deploy local-bundle/local-jar, request-service, slots UI markedObjectIds)
Безопасный коммит незакоммиченной работы перед реализацией бронирования слотов. Вне коммита оставлены: package-lock.json (пустой, мусор), requests.json (scratch-данные).
This commit is contained in:
@@ -43,6 +43,26 @@ wait_for_postgres() {
|
||||
exit 1
|
||||
}
|
||||
|
||||
wait_for_external_postgres() {
|
||||
local container_name="${EXTERNAL_POSTGRES_CONTAINER:-}"
|
||||
local attempt
|
||||
|
||||
if [[ -z "$container_name" ]]; then
|
||||
echo "EXTERNAL_POSTGRES_CONTAINER is required when USE_EXTERNAL_INFRA=true and SKIP_DB_INIT is not true." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for attempt in {1..60}; do
|
||||
if docker exec "$container_name" pg_isready -U "${POSTGRES_USER:-postgres}" -d postgres >/dev/null 2>&1; then
|
||||
return 0
|
||||
fi
|
||||
sleep 2
|
||||
done
|
||||
|
||||
echo "External Postgres is not ready after 120 seconds: $container_name" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
create_database_if_missing() {
|
||||
local db_name="$1"
|
||||
local exists
|
||||
@@ -61,16 +81,35 @@ create_database_if_missing() {
|
||||
compose exec -T postgres createdb -U "${POSTGRES_USER:-postgres}" "$db_name"
|
||||
}
|
||||
|
||||
create_external_database_if_missing() {
|
||||
local db_name="$1"
|
||||
local container_name="${EXTERNAL_POSTGRES_CONTAINER:-}"
|
||||
local exists
|
||||
|
||||
exists="$(
|
||||
docker exec "$container_name" psql -U "${POSTGRES_USER:-postgres}" -d postgres -tAc \
|
||||
"SELECT 1 FROM pg_database WHERE datname = '$db_name'" | tr -d '[:space:]'
|
||||
)"
|
||||
|
||||
if [[ "$exists" == "1" ]]; then
|
||||
echo "Database already exists: $db_name"
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "Creating database: $db_name"
|
||||
docker exec "$container_name" createdb -U "${POSTGRES_USER:-postgres}" "$db_name"
|
||||
}
|
||||
|
||||
databases=(
|
||||
pcp_ballistics
|
||||
pcp_requests
|
||||
pcp_route_processing
|
||||
pcp_missions
|
||||
pcp_slots
|
||||
pcp_complex_plan
|
||||
pcp_satellite_catalog
|
||||
pcp_stations
|
||||
pcp_tgu
|
||||
pcp_tle
|
||||
pcp_satellites
|
||||
)
|
||||
|
||||
@@ -78,12 +117,20 @@ ensure_env_file
|
||||
load_env
|
||||
|
||||
cd "$bundle_dir"
|
||||
compose up -d postgres
|
||||
wait_for_postgres
|
||||
if [[ "${USE_EXTERNAL_INFRA:-false}" == "true" ]]; then
|
||||
wait_for_external_postgres
|
||||
|
||||
for db_name in "${databases[@]}"; do
|
||||
create_database_if_missing "$db_name"
|
||||
done
|
||||
for db_name in "${databases[@]}"; do
|
||||
create_external_database_if_missing "$db_name"
|
||||
done
|
||||
else
|
||||
compose up -d postgres
|
||||
wait_for_postgres
|
||||
|
||||
for db_name in "${databases[@]}"; do
|
||||
create_database_if_missing "$db_name"
|
||||
done
|
||||
fi
|
||||
|
||||
echo "Database initialization completed. Tables are left to service Flyway migrations."
|
||||
echo "No schema objects or seed data were created by this script."
|
||||
|
||||
Reference in New Issue
Block a user