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
}
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"`
}
See the guide to Overriding types for fine-grained control over struct field types and tags.