1.3 KiB
1.3 KiB
GAS stack
Compiling
Requires a Go compiler (minimum 1.22.5) and a C compiler, due to use of CGo.
git clone https://git.offline-twitter.com/offline-labs/gas-stack.git
cd gas-stack
go build -o gas -tags fts5 ./cmd
# Installation (optional)
sudo mv gas /usr/local/bin # ...or anywhere on your $PATH
which gas # should print "/usr/local/bin/gas"
Using
The linter (gas sqlite_lint) is stable and useful.
The code generator is buggy, incomplete, and not remotely stable, but still quite useful. Don't expect it to produce perfectly working code, or even to compile correctly (e.g., you'll probably have to fix the imports). Copy-paste the parts that are useful, and delete the parts that aren't.
Linter
gas sqlite_lint <path/to/schema.sql>
Code generator
gas generate table_name # Generates a model
gas generate --test table_name # Optional: generates tests
It prints to the console. You can copy-paste the result. Or you can use bash redirection:
gas generate users > pkg/db/user.go
gas generate --test users > pkg/db/user_test.go
Useful flags:
--schema: by default,gas generateassumes that the schema is atpkg/db/schema.sql. Usegas generate --schema <path/to/schema.sql> [...]to indicate otherwise