// 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 FieldseekerSamplecollections = Table[
	fieldseekerSamplecollectionColumns,
	fieldseekerSamplecollectionIndexes,
	fieldseekerSamplecollectionForeignKeys,
	fieldseekerSamplecollectionUniques,
	fieldseekerSamplecollectionChecks,
]{
	Schema: "fieldseeker",
	Name:   "samplecollection",
	Columns: fieldseekerSamplecollectionColumns{
		Objectid: column{
			Name:      "objectid",
			DBType:    "bigint",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		LocID: column{
			Name:      "loc_id",
			DBType:    "uuid",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is LOC_ID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Startdatetime: column{
			Name:      "startdatetime",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is STARTDATETIME",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Enddatetime: column{
			Name:      "enddatetime",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is ENDDATETIME",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Sitecond: column{
			Name:      "sitecond",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is SITECOND",
			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,
		},
		Survtech: column{
			Name:      "survtech",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is SURVTECH",
			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,
		},
		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,
		},
		Processed: column{
			Name:      "processed",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is PROCESSED",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Sampletype: column{
			Name:      "sampletype",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is SAMPLETYPE",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Samplecond: column{
			Name:      "samplecond",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is SAMPLECOND",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Species: column{
			Name:      "species",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is SPECIES",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Sex: column{
			Name:      "sex",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is SEX",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Avetemp: column{
			Name:      "avetemp",
			DBType:    "double precision",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is AVETEMP",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Windspeed: column{
			Name:      "windspeed",
			DBType:    "double precision",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is WINDSPEED",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Winddir: column{
			Name:      "winddir",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is WINDDIR",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Raingauge: column{
			Name:      "raingauge",
			DBType:    "double precision",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is RAINGAUGE",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Activity: column{
			Name:      "activity",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is ACTIVITY",
			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,
		},
		Reviewed: column{
			Name:      "reviewed",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is REVIEWED",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Reviewedby: column{
			Name:      "reviewedby",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is REVIEWEDBY",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Revieweddate: column{
			Name:      "revieweddate",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is REVIEWEDDATE",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Locationname: column{
			Name:      "locationname",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is LOCATIONNAME",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Zone: column{
			Name:      "zone",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is ZONE",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Recordstatus: column{
			Name:      "recordstatus",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is RECORDSTATUS",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Zone2: column{
			Name:      "zone2",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is ZONE2",
			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,
		},
		Fieldtech: column{
			Name:      "fieldtech",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is FIELDTECH",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Flockid: column{
			Name:      "flockid",
			DBType:    "uuid",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is FLOCKID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Samplecount: column{
			Name:      "samplecount",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is SAMPLECOUNT",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Chickenid: column{
			Name:      "chickenid",
			DBType:    "uuid",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is CHICKENID",
			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,
		},
		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: fieldseekerSamplecollectionIndexes{
		SamplecollectionPkey: index{
			Type: "btree",
			Name: "samplecollection_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:    "samplecollection_pkey",
		Columns: []string{"globalid", "version"},
		Comment: "",
	},
	ForeignKeys: fieldseekerSamplecollectionForeignKeys{
		FieldseekerSamplecollectionSamplecollectionOrganizationIDFkey: foreignKey{
			constraint: constraint{
				Name:    "fieldseeker.samplecollection.samplecollection_organization_id_fkey",
				Columns: []string{"organization_id"},
				Comment: "",
			},
			ForeignTable:   "organization",
			ForeignColumns: []string{"id"},
		},
	},

	Comment: "",
}

type fieldseekerSamplecollectionColumns struct {
	Objectid       column
	LocID          column
	Startdatetime  column
	Enddatetime    column
	Sitecond       column
	Sampleid       column
	Survtech       column
	Datesent       column
	Datetested     column
	Testtech       column
	Comments       column
	Processed      column
	Sampletype     column
	Samplecond     column
	Species        column
	Sex            column
	Avetemp        column
	Windspeed      column
	Winddir        column
	Raingauge      column
	Activity       column
	Testmethod     column
	Diseasetested  column
	Diseasepos     column
	Reviewed       column
	Reviewedby     column
	Revieweddate   column
	Locationname   column
	Zone           column
	Recordstatus   column
	Zone2          column
	Globalid       column
	CreatedUser    column
	CreatedDate    column
	LastEditedUser column
	LastEditedDate column
	Lab            column
	Fieldtech      column
	Flockid        column
	Samplecount    column
	Chickenid      column
	Gatewaysync    column
	Creationdate   column
	Creator        column
	Editdate       column
	Editor         column
	Geometry       column
	Geospatial     column
	Version        column
	OrganizationID column
}

func (c fieldseekerSamplecollectionColumns) AsSlice() []column {
	return []column{
		c.Objectid, c.LocID, c.Startdatetime, c.Enddatetime, c.Sitecond, c.Sampleid, c.Survtech, c.Datesent, c.Datetested, c.Testtech, c.Comments, c.Processed, c.Sampletype, c.Samplecond, c.Species, c.Sex, c.Avetemp, c.Windspeed, c.Winddir, c.Raingauge, c.Activity, c.Testmethod, c.Diseasetested, c.Diseasepos, c.Reviewed, c.Reviewedby, c.Revieweddate, c.Locationname, c.Zone, c.Recordstatus, c.Zone2, c.Globalid, c.CreatedUser, c.CreatedDate, c.LastEditedUser, c.LastEditedDate, c.Lab, c.Fieldtech, c.Flockid, c.Samplecount, c.Chickenid, c.Gatewaysync, c.Creationdate, c.Creator, c.Editdate, c.Editor, c.Geometry, c.Geospatial, c.Version, c.OrganizationID,
	}
}

type fieldseekerSamplecollectionIndexes struct {
	SamplecollectionPkey index
}

func (i fieldseekerSamplecollectionIndexes) AsSlice() []index {
	return []index{
		i.SamplecollectionPkey,
	}
}

type fieldseekerSamplecollectionForeignKeys struct {
	FieldseekerSamplecollectionSamplecollectionOrganizationIDFkey foreignKey
}

func (f fieldseekerSamplecollectionForeignKeys) AsSlice() []foreignKey {
	return []foreignKey{
		f.FieldseekerSamplecollectionSamplecollectionOrganizationIDFkey,
	}
}

type fieldseekerSamplecollectionUniques struct{}

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

type fieldseekerSamplecollectionChecks struct{}

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