// 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 FieldseekerTreatmentareas = Table[
	fieldseekerTreatmentareaColumns,
	fieldseekerTreatmentareaIndexes,
	fieldseekerTreatmentareaForeignKeys,
	fieldseekerTreatmentareaUniques,
	fieldseekerTreatmentareaChecks,
]{
	Schema: "fieldseeker",
	Name:   "treatmentarea",
	Columns: fieldseekerTreatmentareaColumns{
		Objectid: column{
			Name:      "objectid",
			DBType:    "bigint",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		TreatID: column{
			Name:      "treat_id",
			DBType:    "uuid",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is TREAT_ID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		SessionID: column{
			Name:      "session_id",
			DBType:    "uuid",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is SESSION_ID",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Treatdate: column{
			Name:      "treatdate",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is TREATDATE",
			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,
		},
		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,
		},
		Notified: column{
			Name:      "notified",
			DBType:    "smallint",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is Notified",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Type: column{
			Name:      "type",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is Type",
			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,
		},
		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: fieldseekerTreatmentareaIndexes{
		TreatmentareaPkey: index{
			Type: "btree",
			Name: "treatmentarea_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:    "treatmentarea_pkey",
		Columns: []string{"globalid", "version"},
		Comment: "",
	},
	ForeignKeys: fieldseekerTreatmentareaForeignKeys{
		FieldseekerTreatmentareaTreatmentareaOrganizationIDFkey: foreignKey{
			constraint: constraint{
				Name:    "fieldseeker.treatmentarea.treatmentarea_organization_id_fkey",
				Columns: []string{"organization_id"},
				Comment: "",
			},
			ForeignTable:   "organization",
			ForeignColumns: []string{"id"},
		},
	},

	Comment: "",
}

type fieldseekerTreatmentareaColumns struct {
	Objectid       column
	TreatID        column
	SessionID      column
	Treatdate      column
	Comments       column
	Globalid       column
	CreatedUser    column
	CreatedDate    column
	LastEditedUser column
	LastEditedDate column
	Notified       column
	Type           column
	Creationdate   column
	Creator        column
	Editdate       column
	Editor         column
	ShapeArea      column
	ShapeLength    column
	Geometry       column
	Geospatial     column
	Version        column
	OrganizationID column
}

func (c fieldseekerTreatmentareaColumns) AsSlice() []column {
	return []column{
		c.Objectid, c.TreatID, c.SessionID, c.Treatdate, c.Comments, c.Globalid, c.CreatedUser, c.CreatedDate, c.LastEditedUser, c.LastEditedDate, c.Notified, c.Type, c.Creationdate, c.Creator, c.Editdate, c.Editor, c.ShapeArea, c.ShapeLength, c.Geometry, c.Geospatial, c.Version, c.OrganizationID,
	}
}

type fieldseekerTreatmentareaIndexes struct {
	TreatmentareaPkey index
}

func (i fieldseekerTreatmentareaIndexes) AsSlice() []index {
	return []index{
		i.TreatmentareaPkey,
	}
}

type fieldseekerTreatmentareaForeignKeys struct {
	FieldseekerTreatmentareaTreatmentareaOrganizationIDFkey foreignKey
}

func (f fieldseekerTreatmentareaForeignKeys) AsSlice() []foreignKey {
	return []foreignKey{
		f.FieldseekerTreatmentareaTreatmentareaOrganizationIDFkey,
	}
}

type fieldseekerTreatmentareaUniques struct{}

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

type fieldseekerTreatmentareaChecks struct{}

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