// Code generated by BobGen psql v0.42.5. DO NOT EDIT.
// This file is meant to be re-generated in place and/or deleted at any time.

package dbinfo

import "github.com/aarondl/opt/null"

var FieldseekerPools = Table[
	fieldseekerPoolColumns,
	fieldseekerPoolIndexes,
	fieldseekerPoolForeignKeys,
	fieldseekerPoolUniques,
	fieldseekerPoolChecks,
]{
	Schema: "fieldseeker",
	Name:   "pool",
	Columns: fieldseekerPoolColumns{
		Objectid: column{
			Name:      "objectid",
			DBType:    "bigint",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		TrapdataID: column{
			Name:      "trapdata_id",
			DBType:    "uuid",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is TRAPDATA_ID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Datesent: column{
			Name:      "datesent",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is DATESENT",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Survtech: column{
			Name:      "survtech",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is SURVTECH",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Datetested: column{
			Name:      "datetested",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is DATETESTED",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Testtech: column{
			Name:      "testtech",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is TESTTECH",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Comments: column{
			Name:      "comments",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is COMMENTS",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Sampleid: column{
			Name:      "sampleid",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is SAMPLEID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Processed: column{
			Name:      "processed",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is PROCESSED",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		LabID: column{
			Name:      "lab_id",
			DBType:    "uuid",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is LAB_ID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Testmethod: column{
			Name:      "testmethod",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is TESTMETHOD",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Diseasetested: column{
			Name:      "diseasetested",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is DISEASETESTED",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Diseasepos: column{
			Name:      "diseasepos",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is DISEASEPOS",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Globalid: column{
			Name:      "globalid",
			DBType:    "uuid",
			Default:   "",
			Comment:   "Original attribute from ArcGIS API is GlobalID",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		CreatedUser: column{
			Name:      "created_user",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is created_user",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		CreatedDate: column{
			Name:      "created_date",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is created_date",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		LastEditedUser: column{
			Name:      "last_edited_user",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is last_edited_user",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		LastEditedDate: column{
			Name:      "last_edited_date",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is last_edited_date",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Lab: column{
			Name:      "lab",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is LAB",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Poolyear: column{
			Name:      "poolyear",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is POOLYEAR",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Gatewaysync: column{
			Name:      "gatewaysync",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is GATEWAYSYNC",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Vectorsurvcollectionid: column{
			Name:      "vectorsurvcollectionid",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is VECTORSURVCOLLECTIONID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Vectorsurvpoolid: column{
			Name:      "vectorsurvpoolid",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is VECTORSURVPOOLID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Vectorsurvtrapdataid: column{
			Name:      "vectorsurvtrapdataid",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is VECTORSURVTRAPDATAID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Creationdate: column{
			Name:      "creationdate",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is CreationDate",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Creator: column{
			Name:      "creator",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is Creator",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Editdate: column{
			Name:      "editdate",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is EditDate",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Editor: column{
			Name:      "editor",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is Editor",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Geometry: column{
			Name:      "geometry",
			DBType:    "jsonb",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		Geospatial: column{
			Name:      "geospatial",
			DBType:    "geometry",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Version: column{
			Name:      "version",
			DBType:    "integer",
			Default:   "1",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		OrganizationID: column{
			Name:      "organization_id",
			DBType:    "integer",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
	},
	Indexes: fieldseekerPoolIndexes{
		PoolPkey: index{
			Type: "btree",
			Name: "pool_pkey",
			Columns: []indexColumn{
				{
					Name:         "globalid",
					Desc:         null.FromCond(false, true),
					IsExpression: false,
				},
				{
					Name:         "version",
					Desc:         null.FromCond(false, true),
					IsExpression: false,
				},
			},
			Unique:        true,
			Comment:       "",
			NullsFirst:    []bool{false, false},
			NullsDistinct: false,
			Where:         "",
			Include:       []string{},
		},
	},
	PrimaryKey: &constraint{
		Name:    "pool_pkey",
		Columns: []string{"globalid", "version"},
		Comment: "",
	},
	ForeignKeys: fieldseekerPoolForeignKeys{
		FieldseekerPoolPoolOrganizationIDFkey: foreignKey{
			constraint: constraint{
				Name:    "fieldseeker.pool.pool_organization_id_fkey",
				Columns: []string{"organization_id"},
				Comment: "",
			},
			ForeignTable:   "organization",
			ForeignColumns: []string{"id"},
		},
	},

	Comment: "",
}

type fieldseekerPoolColumns struct {
	Objectid               column
	TrapdataID             column
	Datesent               column
	Survtech               column
	Datetested             column
	Testtech               column
	Comments               column
	Sampleid               column
	Processed              column
	LabID                  column
	Testmethod             column
	Diseasetested          column
	Diseasepos             column
	Globalid               column
	CreatedUser            column
	CreatedDate            column
	LastEditedUser         column
	LastEditedDate         column
	Lab                    column
	Poolyear               column
	Gatewaysync            column
	Vectorsurvcollectionid column
	Vectorsurvpoolid       column
	Vectorsurvtrapdataid   column
	Creationdate           column
	Creator                column
	Editdate               column
	Editor                 column
	Geometry               column
	Geospatial             column
	Version                column
	OrganizationID         column
}

func (c fieldseekerPoolColumns) AsSlice() []column {
	return []column{
		c.Objectid, c.TrapdataID, c.Datesent, c.Survtech, c.Datetested, c.Testtech, c.Comments, c.Sampleid, c.Processed, c.LabID, c.Testmethod, c.Diseasetested, c.Diseasepos, c.Globalid, c.CreatedUser, c.CreatedDate, c.LastEditedUser, c.LastEditedDate, c.Lab, c.Poolyear, c.Gatewaysync, c.Vectorsurvcollectionid, c.Vectorsurvpoolid, c.Vectorsurvtrapdataid, c.Creationdate, c.Creator, c.Editdate, c.Editor, c.Geometry, c.Geospatial, c.Version, c.OrganizationID,
	}
}

type fieldseekerPoolIndexes struct {
	PoolPkey index
}

func (i fieldseekerPoolIndexes) AsSlice() []index {
	return []index{
		i.PoolPkey,
	}
}

type fieldseekerPoolForeignKeys struct {
	FieldseekerPoolPoolOrganizationIDFkey foreignKey
}

func (f fieldseekerPoolForeignKeys) AsSlice() []foreignKey {
	return []foreignKey{
		f.FieldseekerPoolPoolOrganizationIDFkey,
	}
}

type fieldseekerPoolUniques struct{}

func (u fieldseekerPoolUniques) AsSlice() []constraint {
	return []constraint{}
}

type fieldseekerPoolChecks struct{}

func (c fieldseekerPoolChecks) AsSlice() []check {
	return []check{}
}
