Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

README.md

go-sqlcmd Development Container

Dev Container / Codespaces environment with Go 1.25 and SQL Server 2025.

Quick Start

VS Code: Open repo → click "Reopen in Container" when prompted.

Codespaces: Click "Code" → "Codespaces" → "Create codespace".

First build takes ~5 minutes.

Commands

Alias What it does
gtest Run tests
ginstall Build and install sqlcmd to ~/bin
glint Run golangci-lint
sql Connect to SQL Server (go-sqlcmd)
sql-legacy Connect with legacy ODBC sqlcmd
test-db Test database connection

SQL Server Connection

  • Server: localhost,1433
  • User: sa
  • Password: $SQLCMDPASSWORD env var (SqlCmd@2025! for local dev)
  • Database: master or SqlCmdTest

Port 1433 is forwarded — connect from host tools (ADS, SSMS) using same credentials.

Two sqlcmd Versions

  • go-sqlcmd: ~/bin/sqlcmd (default in PATH, use sql alias)
  • Legacy ODBC: /opt/mssql-tools18/bin/sqlcmd (use sql-legacy alias)

Customization

Change SQL version: Edit docker-compose.yml image tag.

Add setup scripts: Edit .devcontainer/mssql/setup.sql.

Change password: Update docker-compose.yml and devcontainer.json.

Troubleshooting

  • ARM64 (Apple Silicon): Use GitHub Codespaces instead - SQL Server has no native ARM64 images
  • SQL Server not starting: Check docker logs $(docker ps -qf "name=db"). Needs 2GB+ RAM
  • Connection refused: Wait ~30s for SQL Server to start
  • sqlcmd not found: Run ginstall