// 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 FieldseekerSpeciesabundances = Table[
	fieldseekerSpeciesabundanceColumns,
	fieldseekerSpeciesabundanceIndexes,
	fieldseekerSpeciesabundanceForeignKeys,
	fieldseekerSpeciesabundanceUniques,
	fieldseekerSpeciesabundanceChecks,
]{
	Schema: "fieldseeker",
	Name:   "speciesabundance",
	Columns: fieldseekerSpeciesabundanceColumns{
		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,
		},
		Species: column{
			Name:      "species",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is SPECIES",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Males: column{
			Name:      "males",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is MALES",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Unknown: column{
			Name:      "unknown",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is UNKNOWN",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Bloodedfem: column{
			Name:      "bloodedfem",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is BLOODEDFEM",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Gravidfem: column{
			Name:      "gravidfem",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is GRAVIDFEM",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Larvae: column{
			Name:      "larvae",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is LARVAE",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Poolstogen: column{
			Name:      "poolstogen",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is POOLSTOGEN",
			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,
		},
		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,
		},
		Pupae: column{
			Name:      "pupae",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is PUPAE",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Eggs: column{
			Name:      "eggs",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is EGGS",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Females: column{
			Name:      "females",
			DBType:    "integer",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is FEMALES",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Total: column{
			Name:      "total",
			DBType:    "integer",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is TOTAL",
			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,
		},
		Yearweek: column{
			Name:      "yearweek",
			DBType:    "integer",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is yearWeek",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Globalzscore: column{
			Name:      "globalzscore",
			DBType:    "double precision",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is globalZScore",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		R7score: column{
			Name:      "r7score",
			DBType:    "double precision",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is r7Score",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		R8score: column{
			Name:      "r8score",
			DBType:    "double precision",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is r8Score",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		H3R7: column{
			Name:      "h3r7",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is h3r7",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		H3R8: column{
			Name:      "h3r8",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is h3r8",
			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: fieldseekerSpeciesabundanceIndexes{
		SpeciesabundancePkey: index{
			Type: "btree",
			Name: "speciesabundance_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:    "speciesabundance_pkey",
		Columns: []string{"globalid", "version"},
		Comment: "",
	},
	ForeignKeys: fieldseekerSpeciesabundanceForeignKeys{
		FieldseekerSpeciesabundanceSpeciesabundanceOrganizationIDFkey: foreignKey{
			constraint: constraint{
				Name:    "fieldseeker.speciesabundance.speciesabundance_organization_id_fkey",
				Columns: []string{"organization_id"},
				Comment: "",
			},
			ForeignTable:   "organization",
			ForeignColumns: []string{"id"},
		},
	},

	Comment: "",
}

type fieldseekerSpeciesabundanceColumns struct {
	Objectid       column
	TrapdataID     column
	Species        column
	Males          column
	Unknown        column
	Bloodedfem     column
	Gravidfem      column
	Larvae         column
	Poolstogen     column
	Processed      column
	Globalid       column
	CreatedUser    column
	CreatedDate    column
	LastEditedUser column
	LastEditedDate column
	Pupae          column
	Eggs           column
	Females        column
	Total          column
	Creationdate   column
	Creator        column
	Editdate       column
	Editor         column
	Yearweek       column
	Globalzscore   column
	R7score        column
	R8score        column
	H3R7           column
	H3R8           column
	Geometry       column
	Geospatial     column
	Version        column
	OrganizationID column
}

func (c fieldseekerSpeciesabundanceColumns) AsSlice() []column {
	return []column{
		c.Objectid, c.TrapdataID, c.Species, c.Males, c.Unknown, c.Bloodedfem, c.Gravidfem, c.Larvae, c.Poolstogen, c.Processed, c.Globalid, c.CreatedUser, c.CreatedDate, c.LastEditedUser, c.LastEditedDate, c.Pupae, c.Eggs, c.Females, c.Total, c.Creationdate, c.Creator, c.Editdate, c.Editor, c.Yearweek, c.Globalzscore, c.R7score, c.R8score, c.H3R7, c.H3R8, c.Geometry, c.Geospatial, c.Version, c.OrganizationID,
	}
}

type fieldseekerSpeciesabundanceIndexes struct {
	SpeciesabundancePkey index
}

func (i fieldseekerSpeciesabundanceIndexes) AsSlice() []index {
	return []index{
		i.SpeciesabundancePkey,
	}
}

type fieldseekerSpeciesabundanceForeignKeys struct {
	FieldseekerSpeciesabundanceSpeciesabundanceOrganizationIDFkey foreignKey
}

func (f fieldseekerSpeciesabundanceForeignKeys) AsSlice() []foreignKey {
	return []foreignKey{
		f.FieldseekerSpeciesabundanceSpeciesabundanceOrganizationIDFkey,
	}
}

type fieldseekerSpeciesabundanceUniques struct{}

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

type fieldseekerSpeciesabundanceChecks struct{}

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