AnthoLume/sqlc.yaml

152 lines
4.1 KiB
YAML

version: 2
sql:
- engine: "sqlite"
schema: "./database/schema.sql"
queries: "./database/query.sql"
gen:
go:
package: "database"
out: "database"
emit_json_tags: true
emit_pointers_for_null_types: true
overrides:
# Documents
- column: "documents.md5"
go_type:
type: "string"
pointer: true
- column: "documents.filepath"
go_type:
type: "string"
pointer: true
- column: "documents.basepath"
go_type:
type: "string"
pointer: true
- column: "documents.coverfile"
go_type:
type: "string"
pointer: true
- column: "documents.title"
go_type:
type: "string"
pointer: true
- column: "documents.author"
go_type:
type: "string"
pointer: true
- column: "documents.series"
go_type:
type: "string"
pointer: true
- column: "documents.series_index"
go_type:
type: "int64"
pointer: true
- column: "documents.lang"
go_type:
type: "string"
pointer: true
- column: "documents.description"
go_type:
type: "string"
pointer: true
- column: "documents.words"
go_type:
type: "int64"
pointer: true
- column: "documents.olid"
go_type:
type: "string"
pointer: true
- column: "documents.gbid"
go_type:
type: "string"
pointer: true
- column: "documents.isbn10"
go_type:
type: "string"
pointer: true
- column: "documents.isbn13"
go_type:
type: "string"
pointer: true
# Metadata
- column: "metadata.title"
go_type:
type: "string"
pointer: true
- column: "metadata.author"
go_type:
type: "string"
pointer: true
- column: "metadata.description"
go_type:
type: "string"
pointer: true
- column: "metadata.gbid"
go_type:
type: "string"
pointer: true
- column: "metadata.olid"
go_type:
type: "string"
pointer: true
- column: "metadata.isbn10"
go_type:
type: "string"
pointer: true
- column: "metadata.isbn13"
go_type:
type: "string"
pointer: true
# Devices
- column: "devices.id"
go_type:
type: "string"
- column: "devices.user_id"
go_type:
type: "string"
- column: "devices.device_name"
go_type:
type: "string"
- column: "devices.sync"
go_type:
type: "bool"
- column: "devices.created_at"
go_type:
type: "string"
# Devices
- column: "users.pass"
go_type:
type: "string"
pointer: true
- column: "users.timezone"
go_type:
type: "string"
pointer: true
- column: "users.auth_hash"
go_type:
type: "string"
pointer: true
# Override Time
- db_type: "DATETIME"
go_type:
type: "string"
# Do not generate JSON
- column: "documents.synced"
go_struct_tag: 'json:"-"'
- column: "documents.olid"
go_struct_tag: 'json:"-"'
- column: "documents.deleted"
go_struct_tag: 'json:"-"'
- column: "users.pass"
go_struct_tag: 'json:"-"'
- column: "users.admin"
go_struct_tag: 'json:"-"'