// 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 FieldseekerTraplocations = Table[
	fieldseekerTraplocationColumns,
	fieldseekerTraplocationIndexes,
	fieldseekerTraplocationForeignKeys,
	fieldseekerTraplocationUniques,
	fieldseekerTraplocationChecks,
]{
	Schema: "fieldseeker",
	Name:   "traplocation",
	Columns: fieldseekerTraplocationColumns{
		Objectid: column{
			Name:      "objectid",
			DBType:    "bigint",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		Name: column{
			Name:      "name",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is NAME",
			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,
		},
		Habitat: column{
			Name:      "habitat",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is HABITAT",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Priority: column{
			Name:      "priority",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is PRIORITY",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Usetype: column{
			Name:      "usetype",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is USETYPE",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Active: column{
			Name:      "active",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is ACTIVE",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Description: column{
			Name:      "description",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is DESCRIPTION",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Accessdesc: column{
			Name:      "accessdesc",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is ACCESSDESC",
			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,
		},
		Externalid: column{
			Name:      "externalid",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is EXTERNALID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Nextactiondatescheduled: column{
			Name:      "nextactiondatescheduled",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is NEXTACTIONDATESCHEDULED",
			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,
		},
		Locationnumber: column{
			Name:      "locationnumber",
			DBType:    "integer",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is LOCATIONNUMBER",
			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,
		},
		Gatewaysync: column{
			Name:      "gatewaysync",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is GATEWAYSYNC",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Route: column{
			Name:      "route",
			DBType:    "integer",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is route",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		SetDow: column{
			Name:      "set_dow",
			DBType:    "integer",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is set_dow",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		RouteOrder: column{
			Name:      "route_order",
			DBType:    "integer",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is route_order",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Vectorsurvsiteid: column{
			Name:      "vectorsurvsiteid",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is VECTORSURVSITEID",
			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,
		},
		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,
		},
		H3cell: column{
			Name:      "h3cell",
			DBType:    "h3index",
			Default:   "GENERATED",
			Comment:   "",
			Nullable:  true,
			Generated: true,
			AutoIncr:  false,
		},
	},
	Indexes: fieldseekerTraplocationIndexes{
		TraplocationPkey: index{
			Type: "btree",
			Name: "traplocation_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:    "traplocation_pkey",
		Columns: []string{"globalid", "version"},
		Comment: "",
	},
	ForeignKeys: fieldseekerTraplocationForeignKeys{
		FieldseekerTraplocationTraplocationOrganizationIDFkey: foreignKey{
			constraint: constraint{
				Name:    "fieldseeker.traplocation.traplocation_organization_id_fkey",
				Columns: []string{"organization_id"},
				Comment: "",
			},
			ForeignTable:   "organization",
			ForeignColumns: []string{"id"},
		},
	},

	Comment: "",
}

type fieldseekerTraplocationColumns struct {
	Objectid                column
	Name                    column
	Zone                    column
	Habitat                 column
	Priority                column
	Usetype                 column
	Active                  column
	Description             column
	Accessdesc              column
	Comments                column
	Externalid              column
	Nextactiondatescheduled column
	Zone2                   column
	Locationnumber          column
	Globalid                column
	CreatedUser             column
	CreatedDate             column
	LastEditedUser          column
	LastEditedDate          column
	Gatewaysync             column
	Route                   column
	SetDow                  column
	RouteOrder              column
	Vectorsurvsiteid        column
	Creationdate            column
	Creator                 column
	Editdate                column
	Editor                  column
	H3R7                    column
	H3R8                    column
	Geometry                column
	Geospatial              column
	Version                 column
	OrganizationID          column
	H3cell                  column
}

func (c fieldseekerTraplocationColumns) AsSlice() []column {
	return []column{
		c.Objectid, c.Name, c.Zone, c.Habitat, c.Priority, c.Usetype, c.Active, c.Description, c.Accessdesc, c.Comments, c.Externalid, c.Nextactiondatescheduled, c.Zone2, c.Locationnumber, c.Globalid, c.CreatedUser, c.CreatedDate, c.LastEditedUser, c.LastEditedDate, c.Gatewaysync, c.Route, c.SetDow, c.RouteOrder, c.Vectorsurvsiteid, c.Creationdate, c.Creator, c.Editdate, c.Editor, c.H3R7, c.H3R8, c.Geometry, c.Geospatial, c.Version, c.OrganizationID, c.H3cell,
	}
}

type fieldseekerTraplocationIndexes struct {
	TraplocationPkey index
}

func (i fieldseekerTraplocationIndexes) AsSlice() []index {
	return []index{
		i.TraplocationPkey,
	}
}

type fieldseekerTraplocationForeignKeys struct {
	FieldseekerTraplocationTraplocationOrganizationIDFkey foreignKey
}

func (f fieldseekerTraplocationForeignKeys) AsSlice() []foreignKey {
	return []foreignKey{
		f.FieldseekerTraplocationTraplocationOrganizationIDFkey,
	}
}

type fieldseekerTraplocationUniques struct{}

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

type fieldseekerTraplocationChecks struct{}

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