SQL file validator. Validates all .sql files recursively.
Supports PostgreSQL and SQLite.
go install github.com/saberd/sqvalid@latestMake sure ~/go/bin is in your PATH. Add this to ~/.bashrc, ~/.zshrc, or ~/.profile:
export PATH="$PATH:$(go env GOPATH)/bin"Then reload your shell:
source ~/.bashrc # or ~/.zshrcNow you can run:
sqvalid ./sqlDownload pre-built binaries from GitHub Releases:
# Linux
curl -L https://github.com/saberd/sqvalid/releases/latest/download/sqvalid-linux-amd64 -o sqvalid
chmod +x sqvalid
./sqvalid ./sql
# macOS (Apple Silicon)
curl -L https://github.com/saberd/sqvalid/releases/latest/download/sqvalid-darwin-arm64 -o sqvalid
chmod +x sqvalid
./sqvalid ./sql
# macOS (Intel)
curl -L https://github.com/saberd/sqvalid/releases/latest/download/sqvalid-darwin-amd64 -o sqvalid
chmod +x sqvalid
./sqvalid ./sql# PostgreSQL (default)
sqvalid ./sql
# SQLite
sqvalid -sqlite ./sql✓ users/sql/getUser.sql
✓ users/sql/createUser.sql
✓ posts/sql/getPosts.sql
✗ posts/sql/createPost.sql: invalid SQL
syntax error at or near "INSRT"
✗ 1 SQL error found
Exit code 0 = all valid, 1 = errors found.
- name: Validate SQL
run: |
curl -L https://github.com/saberd/sqvalid/releases/latest/download/sqvalid-linux-amd64 -o sqvalid
chmod +x sqvalid
./sqvalid ./sqlMIT