// 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 FieldseekerProposedtreatmentareas = Table[
	fieldseekerProposedtreatmentareaColumns,
	fieldseekerProposedtreatmentareaIndexes,
	fieldseekerProposedtreatmentareaForeignKeys,
	fieldseekerProposedtreatmentareaUniques,
	fieldseekerProposedtreatmentareaChecks,
]{
	Schema: "fieldseeker",
	Name:   "proposedtreatmentarea",
	Columns: fieldseekerProposedtreatmentareaColumns{
		Objectid: column{
			Name:      "objectid",
			DBType:    "bigint",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		Method: column{
			Name:      "method",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is METHOD",
			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,
		},
		Zone: column{
			Name:      "zone",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is ZONE",
			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,
		},
		Zone2: column{
			Name:      "zone2",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is ZONE2",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Completeddate: column{
			Name:      "completeddate",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is COMPLETEDDATE",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Completedby: column{
			Name:      "completedby",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is COMPLETEDBY",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Completed: column{
			Name:      "completed",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is COMPLETED",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Issprayroute: column{
			Name:      "issprayroute",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is ISSPRAYROUTE",
			Nullable:  true,
			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,
		},
		Acres: column{
			Name:      "acres",
			DBType:    "double precision",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is ACRES",
			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,
		},
		Exported: column{
			Name:      "exported",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is EXPORTED",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Targetproduct: column{
			Name:      "targetproduct",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is TARGETPRODUCT",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Targetapprate: column{
			Name:      "targetapprate",
			DBType:    "double precision",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is TARGETAPPRATE",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Hectares: column{
			Name:      "hectares",
			DBType:    "double precision",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is HECTARES",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Lasttreatactivity: column{
			Name:      "lasttreatactivity",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is LASTTREATACTIVITY",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Lasttreatdate: column{
			Name:      "lasttreatdate",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is LASTTREATDATE",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Lasttreatproduct: column{
			Name:      "lasttreatproduct",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is LASTTREATPRODUCT",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Lasttreatqty: column{
			Name:      "lasttreatqty",
			DBType:    "double precision",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is LASTTREATQTY",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Lasttreatqtyunit: column{
			Name:      "lasttreatqtyunit",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is LASTTREATQTYUNIT",
			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,
		},
		Duedate: column{
			Name:      "duedate",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is DUEDATE",
			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,
		},
		Targetspecies: column{
			Name:      "targetspecies",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is TARGETSPECIES",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		ShapeArea: column{
			Name:      "shape__area",
			DBType:    "double precision",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is Shape__Area",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		ShapeLength: column{
			Name:      "shape__length",
			DBType:    "double precision",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is Shape__Length",
			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: fieldseekerProposedtreatmentareaIndexes{
		ProposedtreatmentareaPkey: index{
			Type: "btree",
			Name: "proposedtreatmentarea_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:    "proposedtreatmentarea_pkey",
		Columns: []string{"globalid", "version"},
		Comment: "",
	},
	ForeignKeys: fieldseekerProposedtreatmentareaForeignKeys{
		FieldseekerProposedtreatmentareaProposedtreatmentareaOrganizationIDFkey: foreignKey{
			constraint: constraint{
				Name:    "fieldseeker.proposedtreatmentarea.proposedtreatmentarea_organization_id_fkey",
				Columns: []string{"organization_id"},
				Comment: "",
			},
			ForeignTable:   "organization",
			ForeignColumns: []string{"id"},
		},
	},

	Comment: "",
}

type fieldseekerProposedtreatmentareaColumns struct {
	Objectid          column
	Method            column
	Comments          column
	Zone              column
	Reviewed          column
	Reviewedby        column
	Revieweddate      column
	Zone2             column
	Completeddate     column
	Completedby       column
	Completed         column
	Issprayroute      column
	Name              column
	Acres             column
	Globalid          column
	Exported          column
	Targetproduct     column
	Targetapprate     column
	Hectares          column
	Lasttreatactivity column
	Lasttreatdate     column
	Lasttreatproduct  column
	Lasttreatqty      column
	Lasttreatqtyunit  column
	Priority          column
	Duedate           column
	Creationdate      column
	Creator           column
	Editdate          column
	Editor            column
	Targetspecies     column
	ShapeArea         column
	ShapeLength       column
	Geometry          column
	Geospatial        column
	Version           column
	OrganizationID    column
}

func (c fieldseekerProposedtreatmentareaColumns) AsSlice() []column {
	return []column{
		c.Objectid, c.Method, c.Comments, c.Zone, c.Reviewed, c.Reviewedby, c.Revieweddate, c.Zone2, c.Completeddate, c.Completedby, c.Completed, c.Issprayroute, c.Name, c.Acres, c.Globalid, c.Exported, c.Targetproduct, c.Targetapprate, c.Hectares, c.Lasttreatactivity, c.Lasttreatdate, c.Lasttreatproduct, c.Lasttreatqty, c.Lasttreatqtyunit, c.Priority, c.Duedate, c.Creationdate, c.Creator, c.Editdate, c.Editor, c.Targetspecies, c.ShapeArea, c.ShapeLength, c.Geometry, c.Geospatial, c.Version, c.OrganizationID,
	}
}

type fieldseekerProposedtreatmentareaIndexes struct {
	ProposedtreatmentareaPkey index
}

func (i fieldseekerProposedtreatmentareaIndexes) AsSlice() []index {
	return []index{
		i.ProposedtreatmentareaPkey,
	}
}

type fieldseekerProposedtreatmentareaForeignKeys struct {
	FieldseekerProposedtreatmentareaProposedtreatmentareaOrganizationIDFkey foreignKey
}

func (f fieldseekerProposedtreatmentareaForeignKeys) AsSlice() []foreignKey {
	return []foreignKey{
		f.FieldseekerProposedtreatmentareaProposedtreatmentareaOrganizationIDFkey,
	}
}

type fieldseekerProposedtreatmentareaUniques struct{}

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

type fieldseekerProposedtreatmentareaChecks struct{}

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