// 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 FieldseekerStormdrains = Table[
	fieldseekerStormdrainColumns,
	fieldseekerStormdrainIndexes,
	fieldseekerStormdrainForeignKeys,
	fieldseekerStormdrainUniques,
	fieldseekerStormdrainChecks,
]{
	Schema: "fieldseeker",
	Name:   "stormdrain",
	Columns: fieldseekerStormdrainColumns{
		Objectid: column{
			Name:      "objectid",
			DBType:    "bigint",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		Nexttreatmentdate: column{
			Name:      "nexttreatmentdate",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is NextTreatmentDate",
			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,
		},
		Lastaction: column{
			Name:      "lastaction",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is LastAction",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Symbology: column{
			Name:      "symbology",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is Symbology",
			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,
		},
		Laststatus: column{
			Name:      "laststatus",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is LastStatus",
			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,
		},
		Zone2: column{
			Name:      "zone2",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is ZONE2",
			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,
		},
		Type: column{
			Name:      "type",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is TYPE",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Jurisdiction: column{
			Name:      "jurisdiction",
			DBType:    "character varying",
			Default:   "NULL",
			Comment:   "Original attribute from ArcGIS API is JURISDICTION",
			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: fieldseekerStormdrainIndexes{
		StormdrainPkey: index{
			Type: "btree",
			Name: "stormdrain_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:    "stormdrain_pkey",
		Columns: []string{"globalid", "version"},
		Comment: "",
	},
	ForeignKeys: fieldseekerStormdrainForeignKeys{
		FieldseekerStormdrainStormdrainOrganizationIDFkey: foreignKey{
			constraint: constraint{
				Name:    "fieldseeker.stormdrain.stormdrain_organization_id_fkey",
				Columns: []string{"organization_id"},
				Comment: "",
			},
			ForeignTable:   "organization",
			ForeignColumns: []string{"id"},
		},
	},

	Comment: "",
}

type fieldseekerStormdrainColumns struct {
	Objectid          column
	Nexttreatmentdate column
	Lasttreatdate     column
	Lastaction        column
	Symbology         column
	Globalid          column
	CreatedUser       column
	CreatedDate       column
	LastEditedUser    column
	LastEditedDate    column
	Laststatus        column
	Zone              column
	Zone2             column
	Creationdate      column
	Creator           column
	Editdate          column
	Editor            column
	Type              column
	Jurisdiction      column
	Geometry          column
	Geospatial        column
	Version           column
	OrganizationID    column
}

func (c fieldseekerStormdrainColumns) AsSlice() []column {
	return []column{
		c.Objectid, c.Nexttreatmentdate, c.Lasttreatdate, c.Lastaction, c.Symbology, c.Globalid, c.CreatedUser, c.CreatedDate, c.LastEditedUser, c.LastEditedDate, c.Laststatus, c.Zone, c.Zone2, c.Creationdate, c.Creator, c.Editdate, c.Editor, c.Type, c.Jurisdiction, c.Geometry, c.Geospatial, c.Version, c.OrganizationID,
	}
}

type fieldseekerStormdrainIndexes struct {
	StormdrainPkey index
}

func (i fieldseekerStormdrainIndexes) AsSlice() []index {
	return []index{
		i.StormdrainPkey,
	}
}

type fieldseekerStormdrainForeignKeys struct {
	FieldseekerStormdrainStormdrainOrganizationIDFkey foreignKey
}

func (f fieldseekerStormdrainForeignKeys) AsSlice() []foreignKey {
	return []foreignKey{
		f.FieldseekerStormdrainStormdrainOrganizationIDFkey,
	}
}

type fieldseekerStormdrainUniques struct{}

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

type fieldseekerStormdrainChecks struct{}

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