sa
RN APK Build / build (push) Has been cancelled

This commit is contained in:
NishantRajputRN
2026-05-13 17:33:38 +05:30
parent 2b744c1b0b
commit fb767d19ce
+32 -11
View File
@@ -95,12 +95,17 @@ ensure_sqlcmd() {
if command -v sqlcmd >/dev/null 2>&1; then
return 0
fi
die "sqlcmd not found. Install Microsoft tools, then retry (same shell is OK):
die "sqlcmd not found (no Microsoft mssql-tools18 on this machine yet).
Install it with (needs sudo; ~2 minutes):
$0 --install-deps
Or: export PATH=\"\$PATH:/opt/mssql-tools18/bin\"
Or set: SQLCMD_PATH=/path/to/sqlcmd"
Then re-run migrate-db. Quick check:
ls -la /opt/mssql-tools18/bin/sqlcmd
Or set SQLCMD_PATH=/full/path/to/sqlcmd if you installed sqlcmd elsewhere."
}
ensure_clickhouse_client() {
@@ -518,25 +523,41 @@ install_deps() {
$SUDO apt-get update
$SUDO apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
# Microsoft ODBC + sqlcmd (Ubuntu codename: use current release; fall back if MS has no prod.list yet)
# Microsoft ODBC + sqlcmd
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc \
| $SUDO gpg --dearmor -o /etc/apt/trusted.gpg.d/microsoft.gpg
local ms_ub ms_url
ms_ub="$(lsb_release -rs)"
ms_url="https://packages.microsoft.com/config/ubuntu/${ms_ub}/prod.list"
local ms_rel ms_url
ms_rel="$(lsb_release -rs)"
if [[ "${ID:-}" == "debian" ]]; then
ms_url="https://packages.microsoft.com/config/debian/${ms_rel}/prod.list"
if ! curl -fsSL "$ms_url" -o /tmp/mssql-release.list 2>/dev/null; then
echo "$SCRIPT_NAME: No Microsoft prod.list for Ubuntu ${ms_ub}; trying 22.04 repo (packages often install on newer LTS)." >&2
ms_ub="22.04"
ms_url="https://packages.microsoft.com/config/ubuntu/${ms_ub}/prod.list"
echo "$SCRIPT_NAME: No Microsoft prod.list for Debian ${ms_rel}; trying 12 (bookworm)." >&2
ms_url="https://packages.microsoft.com/config/debian/12/prod.list"
curl -fsSL "$ms_url" -o /tmp/mssql-release.list
fi
else
ms_url="https://packages.microsoft.com/config/ubuntu/${ms_rel}/prod.list"
if ! curl -fsSL "$ms_url" -o /tmp/mssql-release.list 2>/dev/null; then
echo "$SCRIPT_NAME: No Microsoft prod.list for Ubuntu ${ms_rel}; trying 22.04 repo." >&2
ms_url="https://packages.microsoft.com/config/ubuntu/22.04/prod.list"
curl -fsSL "$ms_url" -o /tmp/mssql-release.list
fi
fi
$SUDO mv /tmp/mssql-release.list /etc/apt/sources.list.d/mssql-release.list
$SUDO apt-get update
ACCEPT_EULA=Y $SUDO apt-get install -y msodbcsql18 mssql-tools18 unixodbc-dev
export PATH="/opt/mssql-tools18/bin:/opt/mssql-tools/bin:${PATH:-}"
if ! command -v sqlcmd >/dev/null 2>&1; then
die "apt reported success but sqlcmd is still missing. Inspect package contents:
dpkg -L mssql-tools18 2>/dev/null | grep -E '/sqlcmd$' || true
Try: sudo apt-get install -f && sudo apt-get install -y msodbcsql18 mssql-tools18"
fi
local path_line='export PATH="$PATH:/opt/mssql-tools18/bin"'
grep -qF 'mssql-tools18/bin' "$HOME/.bashrc" 2>/dev/null || echo "$path_line" >>"$HOME/.bashrc" || true
grep -qF 'mssql-tools18/bin' "$HOME/.profile" 2>/dev/null || echo "$path_line" >>"$HOME/.profile" || true
export PATH="$PATH:/opt/mssql-tools18/bin"
# ClickHouse client
$SUDO mkdir -p /etc/apt/keyrings