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
+34 -13
View File
@@ -95,12 +95,17 @@ ensure_sqlcmd() {
if command -v sqlcmd >/dev/null 2>&1; then if command -v sqlcmd >/dev/null 2>&1; then
return 0 return 0
fi 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 $0 --install-deps
Or: export PATH=\"\$PATH:/opt/mssql-tools18/bin\" Then re-run migrate-db. Quick check:
Or set: SQLCMD_PATH=/path/to/sqlcmd"
ls -la /opt/mssql-tools18/bin/sqlcmd
Or set SQLCMD_PATH=/full/path/to/sqlcmd if you installed sqlcmd elsewhere."
} }
ensure_clickhouse_client() { ensure_clickhouse_client() {
@@ -518,25 +523,41 @@ install_deps() {
$SUDO apt-get update $SUDO apt-get update
$SUDO apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release $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 \ curl -fsSL https://packages.microsoft.com/keys/microsoft.asc \
| $SUDO gpg --dearmor -o /etc/apt/trusted.gpg.d/microsoft.gpg | $SUDO gpg --dearmor -o /etc/apt/trusted.gpg.d/microsoft.gpg
local ms_ub ms_url
ms_ub="$(lsb_release -rs)" local ms_rel ms_url
ms_url="https://packages.microsoft.com/config/ubuntu/${ms_ub}/prod.list" ms_rel="$(lsb_release -rs)"
if ! curl -fsSL "$ms_url" -o /tmp/mssql-release.list 2>/dev/null; then if [[ "${ID:-}" == "debian" ]]; then
echo "$SCRIPT_NAME: No Microsoft prod.list for Ubuntu ${ms_ub}; trying 22.04 repo (packages often install on newer LTS)." >&2 ms_url="https://packages.microsoft.com/config/debian/${ms_rel}/prod.list"
ms_ub="22.04" if ! curl -fsSL "$ms_url" -o /tmp/mssql-release.list 2>/dev/null; then
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
curl -fsSL "$ms_url" -o /tmp/mssql-release.list 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 fi
$SUDO mv /tmp/mssql-release.list /etc/apt/sources.list.d/mssql-release.list $SUDO mv /tmp/mssql-release.list /etc/apt/sources.list.d/mssql-release.list
$SUDO apt-get update $SUDO apt-get update
ACCEPT_EULA=Y $SUDO apt-get install -y msodbcsql18 mssql-tools18 unixodbc-dev 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"' 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/.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 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 # ClickHouse client
$SUDO mkdir -p /etc/apt/keyrings $SUDO mkdir -p /etc/apt/keyrings