Some checks failed
kotlin / test (push) Has been skipped
python / test (push) Has been skipped
typescript / test (push) Has been skipped
go / build darwin/amd64 (push) Has been cancelled
go / build linux/amd64 (push) Has been cancelled
go / build windows/amd64 (push) Has been cancelled
go / build darwin/arm64 (push) Has been cancelled
go / build linux/arm64 (push) Has been cancelled
go / build windows/arm64 (push) Has been cancelled
go / test (push) Has been cancelled
go / vuln_check (push) Has been cancelled
1003 B
1003 B
Configuring generated structs
Naming scheme
Structs generated from tables will attempt to use the singular form of a table name if the table name is pluralized.
CREATE TABLE authors (
id SERIAL PRIMARY KEY,
name text NOT NULL
);
package db
// Struct names use the singular form of table names
type Author struct {
ID int
Name string
}
JSON tags
CREATE TABLE authors (
id SERIAL PRIMARY KEY,
created_at timestamp NOT NULL
);
sqlc can generate structs with JSON tags by adding the emit_json_tags key to the configuration file as it shows on configuration reference.
The JSON name for a field matches
the column name in the database.
package db
import (
"time"
)
type Author struct {
ID int `json:"id"`
CreatedAt time.Time `json:"created_at"`
}
More control
See the guide to Overriding types for fine-grained control over struct field types and tags.