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.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.time_offset" 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:"-"'