34 lines
807 B
Bash
Executable File
34 lines
807 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -Eeuo pipefail
|
|
|
|
CONTAINER_NAME="atlas-sql-server"
|
|
SQLCMD_PATH="/opt/mssql-tools18/bin/sqlcmd"
|
|
|
|
usage() {
|
|
cat <<'USAGE'
|
|
Usage: scripts/sql/sqlcmd.sh [sqlcmd arguments]
|
|
|
|
Runs sqlcmd inside the Atlas SQL Server container without embedding the SQL
|
|
administrator password in the repository or command line.
|
|
|
|
Examples:
|
|
scripts/sql/sqlcmd.sh -Q "SELECT @@VERSION;"
|
|
scripts/sql/sqlcmd.sh -d master -Q "SELECT name FROM sys.databases;"
|
|
|
|
USAGE
|
|
}
|
|
|
|
if [[ "${1:-}" == "--help" ]]; then
|
|
usage
|
|
exit 0
|
|
fi
|
|
|
|
if ! command -v docker >/dev/null 2>&1; then
|
|
echo "ERROR: docker command not found" >&2
|
|
exit 3
|
|
fi
|
|
|
|
exec sudo -n docker exec -i "$CONTAINER_NAME" /bin/bash -lc \
|
|
'SQLCMDPASSWORD="$MSSQL_SA_PASSWORD" exec /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -C "$@"' \
|
|
sqlcmd "$@"
|