# Imports tracker SQL into Docker MySQL (meraproject-mysqldb). # 1) docker compose up -d db (data/db пустая или уже есть сервер) # 2) .\scripts\import-tracker-to-mysql.ps1 # # SQL: data/mysql-init/01-j7508239_tracker.sql — собрать extract-tracker-db.ps1 (или свой кусок j7508239_tracker без системной mysql.*) param( [string]$SqlFile = "", [string]$ContainerName = "meraproject-mysqldb", [string]$RootPassword = "" ) $ErrorActionPreference = "Stop" $root = Split-Path -Parent $PSScriptRoot if (-not $SqlFile) { $SqlFile = Join-Path $root "data\mysql-init\01-j7508239_tracker.sql" } if (-not (Test-Path -LiteralPath $SqlFile)) { Write-Error "SQL not found: $SqlFile. Run extract-tracker-db.ps1 first." exit 1 } if (-not $RootPassword) { $RootPassword = $env:MERAPROJECT_MYSQL_ROOT_PASSWORD } if (-not $RootPassword) { $RootPassword = "Q#Y34KsmCfy*" } $running = docker inspect -f "{{.State.Running}}" $ContainerName 2>$null if ($running -ne "true") { Write-Error "Container not running: $ContainerName. Run: docker compose up -d db" exit 1 } Write-Host "Importing into $ContainerName from:" Write-Host $SqlFile Write-Host "(may take a few minutes)" # MYSQL_PWD передаём внутрь контейнера (клиент mysql в образе его читает) $env:MYSQL_PWD = $null $sqlPath = (Resolve-Path -LiteralPath $SqlFile).Path Get-Content -LiteralPath $sqlPath -Encoding UTF8 | docker exec -i -e "MYSQL_PWD=$RootPassword" $ContainerName mysql -uroot --max_allowed_packet=512M if ($LASTEXITCODE -ne 0) { Write-Error "Import failed, exit code $LASTEXITCODE" exit $LASTEXITCODE } Write-Host "OK. Example: docker exec -it $ContainerName mysql -uroot -p -e ""USE j7508239_tracker; SHOW TABLES LIKE 'tmerakomisemp';"""