Fix harmonize prod DB targeting and large-hall loading hangs.

Prod env files now win over root .env so harmonize:db can open gallery_prod after gallery_dev; tour_stops gains updated_at; halls no longer block the overlay on every painting texture. Docs cover the fixes and one-artist image pull from prod; Duccio painting assets synced from TrueNAS.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Danila Khodjaef
2026-07-26 01:26:51 +03:00
co-authored by Cursor
parent f6c73c1792
commit 8e444fa461
115 changed files with 124 additions and 37 deletions
+17 -4
View File
@@ -104,7 +104,9 @@ function Get-HarmonizeSteps {
if ($null -ne $harmonize.schemaChanged) { $schemaChanged = [bool]$harmonize.schemaChanged }
elseif ($null -ne $Raw.schemaChanged) { $schemaChanged = [bool]$Raw.schemaChanged }
$steps = @{
# Only these keys are orchestrated. Ignore release-profile keys (restoreProd, etc.)
# when falling back to devtoprod.config.json.
$steps = [ordered]@{
backupDev = $true
backupProd = $true
schema = $schemaChanged
@@ -113,10 +115,21 @@ function Get-HarmonizeSteps {
verify = $false
}
$cfgSteps = $harmonize.steps
$allowed = @($steps.Keys)
$cfgSteps = $null
if ($null -ne $Raw.harmonize -and $null -ne $Raw.harmonize.steps) {
$cfgSteps = $Raw.harmonize.steps
}
elseif ($null -eq $Raw.harmonize -and $null -eq $Raw.profile -and $null -ne $Raw.steps) {
# Dedicated harmonize.config.json (no release "profile")
$cfgSteps = $Raw.steps
}
if ($null -ne $cfgSteps) {
foreach ($key in $cfgSteps.PSObject.Properties.Name) {
$steps[$key] = [bool]$cfgSteps.$key
foreach ($key in $allowed) {
if ($null -ne $cfgSteps.$key) {
$steps[$key] = [bool]$cfgSteps.$key
}
}
}