// 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 PublicreportNuisanceOlds = Table[
	publicreportNuisanceOldColumns,
	publicreportNuisanceOldIndexes,
	publicreportNuisanceOldForeignKeys,
	publicreportNuisanceOldUniques,
	publicreportNuisanceOldChecks,
]{
	Schema: "publicreport",
	Name:   "nuisance_old",
	Columns: publicreportNuisanceOldColumns{
		ID: column{
			Name:      "id",
			DBType:    "integer",
			Default:   "nextval('publicreport.nuisance_id_seq'::regclass)",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		AdditionalInfo: column{
			Name:      "additional_info",
			DBType:    "text",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		Created: column{
			Name:      "created",
			DBType:    "timestamp without time zone",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		Duration: column{
			Name:      "duration",
			DBType:    "publicreport.nuisancedurationtype",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		SourceContainer: column{
			Name:      "source_container",
			DBType:    "boolean",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		SourceDescription: column{
			Name:      "source_description",
			DBType:    "text",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		SourceStagnant: column{
			Name:      "source_stagnant",
			DBType:    "boolean",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		PublicID: column{
			Name:      "public_id",
			DBType:    "text",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		ReporterEmail: column{
			Name:      "reporter_email",
			DBType:    "text",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		ReporterName: column{
			Name:      "reporter_name",
			DBType:    "text",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		ReporterPhone: column{
			Name:      "reporter_phone",
			DBType:    "text",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		AddressRaw: column{
			Name:      "address_raw",
			DBType:    "text",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		Status: column{
			Name:      "status",
			DBType:    "publicreport.reportstatustype",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		OrganizationID: column{
			Name:      "organization_id",
			DBType:    "integer",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		SourceGutter: column{
			Name:      "source_gutter",
			DBType:    "boolean",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		H3cell: column{
			Name:      "h3cell",
			DBType:    "h3index",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		AddressCountry: column{
			Name:      "address_country",
			DBType:    "text",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		AddressLocality: column{
			Name:      "address_locality",
			DBType:    "text",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		AddressPostalCode: column{
			Name:      "address_postal_code",
			DBType:    "text",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		AddressRegion: column{
			Name:      "address_region",
			DBType:    "text",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		AddressStreet: column{
			Name:      "address_street",
			DBType:    "text",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		IsLocationBackyard: column{
			Name:      "is_location_backyard",
			DBType:    "boolean",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		IsLocationFrontyard: column{
			Name:      "is_location_frontyard",
			DBType:    "boolean",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		IsLocationGarden: column{
			Name:      "is_location_garden",
			DBType:    "boolean",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		IsLocationOther: column{
			Name:      "is_location_other",
			DBType:    "boolean",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		IsLocationPool: column{
			Name:      "is_location_pool",
			DBType:    "boolean",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		MapZoom: column{
			Name:      "map_zoom",
			DBType:    "real",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		TodEarly: column{
			Name:      "tod_early",
			DBType:    "boolean",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		TodDay: column{
			Name:      "tod_day",
			DBType:    "boolean",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		TodEvening: column{
			Name:      "tod_evening",
			DBType:    "boolean",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		TodNight: column{
			Name:      "tod_night",
			DBType:    "boolean",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		LatlngAccuracyType: column{
			Name:      "latlng_accuracy_type",
			DBType:    "publicreport.accuracytype",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		LatlngAccuracyValue: column{
			Name:      "latlng_accuracy_value",
			DBType:    "real",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		ReporterContactConsent: column{
			Name:      "reporter_contact_consent",
			DBType:    "boolean",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Location: column{
			Name:      "location",
			DBType:    "geometry",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		AddressNumber: column{
			Name:      "address_number",
			DBType:    "text",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		AddressID: column{
			Name:      "address_id",
			DBType:    "integer",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		Reviewed: column{
			Name:      "reviewed",
			DBType:    "timestamp without time zone",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
		ReviewerID: column{
			Name:      "reviewer_id",
			DBType:    "integer",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
	},
	Indexes: publicreportNuisanceOldIndexes{
		NuisancePkey: index{
			Type: "btree",
			Name: "nuisance_pkey",
			Columns: []indexColumn{
				{
					Name:         "id",
					Desc:         null.FromCond(false, true),
					IsExpression: false,
				},
			},
			Unique:        true,
			Comment:       "",
			NullsFirst:    []bool{false},
			NullsDistinct: false,
			Where:         "",
			Include:       []string{},
		},
		NuisancePublicIDKey: index{
			Type: "btree",
			Name: "nuisance_public_id_key",
			Columns: []indexColumn{
				{
					Name:         "public_id",
					Desc:         null.FromCond(false, true),
					IsExpression: false,
				},
			},
			Unique:        true,
			Comment:       "",
			NullsFirst:    []bool{false},
			NullsDistinct: false,
			Where:         "",
			Include:       []string{},
		},
	},
	PrimaryKey: &constraint{
		Name:    "nuisance_pkey",
		Columns: []string{"id"},
		Comment: "",
	},
	ForeignKeys: publicreportNuisanceOldForeignKeys{
		PublicreportNuisanceOldNuisanceAddressIDFkey: foreignKey{
			constraint: constraint{
				Name:    "publicreport.nuisance_old.nuisance_address_id_fkey",
				Columns: []string{"address_id"},
				Comment: "",
			},
			ForeignTable:   "address",
			ForeignColumns: []string{"id"},
		},
		PublicreportNuisanceOldNuisanceOrganizationIDFkey: foreignKey{
			constraint: constraint{
				Name:    "publicreport.nuisance_old.nuisance_organization_id_fkey",
				Columns: []string{"organization_id"},
				Comment: "",
			},
			ForeignTable:   "organization",
			ForeignColumns: []string{"id"},
		},
		PublicreportNuisanceOldNuisanceReviewerIDFkey: foreignKey{
			constraint: constraint{
				Name:    "publicreport.nuisance_old.nuisance_reviewer_id_fkey",
				Columns: []string{"reviewer_id"},
				Comment: "",
			},
			ForeignTable:   "user_",
			ForeignColumns: []string{"id"},
		},
	},
	Uniques: publicreportNuisanceOldUniques{
		NuisancePublicIDKey: constraint{
			Name:    "nuisance_public_id_key",
			Columns: []string{"public_id"},
			Comment: "",
		},
	},

	Comment: "",
}

type publicreportNuisanceOldColumns struct {
	ID                     column
	AdditionalInfo         column
	Created                column
	Duration               column
	SourceContainer        column
	SourceDescription      column
	SourceStagnant         column
	PublicID               column
	ReporterEmail          column
	ReporterName           column
	ReporterPhone          column
	AddressRaw             column
	Status                 column
	OrganizationID         column
	SourceGutter           column
	H3cell                 column
	AddressCountry         column
	AddressLocality        column
	AddressPostalCode      column
	AddressRegion          column
	AddressStreet          column
	IsLocationBackyard     column
	IsLocationFrontyard    column
	IsLocationGarden       column
	IsLocationOther        column
	IsLocationPool         column
	MapZoom                column
	TodEarly               column
	TodDay                 column
	TodEvening             column
	TodNight               column
	LatlngAccuracyType     column
	LatlngAccuracyValue    column
	ReporterContactConsent column
	Location               column
	AddressNumber          column
	AddressID              column
	Reviewed               column
	ReviewerID             column
}

func (c publicreportNuisanceOldColumns) AsSlice() []column {
	return []column{
		c.ID, c.AdditionalInfo, c.Created, c.Duration, c.SourceContainer, c.SourceDescription, c.SourceStagnant, c.PublicID, c.ReporterEmail, c.ReporterName, c.ReporterPhone, c.AddressRaw, c.Status, c.OrganizationID, c.SourceGutter, c.H3cell, c.AddressCountry, c.AddressLocality, c.AddressPostalCode, c.AddressRegion, c.AddressStreet, c.IsLocationBackyard, c.IsLocationFrontyard, c.IsLocationGarden, c.IsLocationOther, c.IsLocationPool, c.MapZoom, c.TodEarly, c.TodDay, c.TodEvening, c.TodNight, c.LatlngAccuracyType, c.LatlngAccuracyValue, c.ReporterContactConsent, c.Location, c.AddressNumber, c.AddressID, c.Reviewed, c.ReviewerID,
	}
}

type publicreportNuisanceOldIndexes struct {
	NuisancePkey        index
	NuisancePublicIDKey index
}

func (i publicreportNuisanceOldIndexes) AsSlice() []index {
	return []index{
		i.NuisancePkey, i.NuisancePublicIDKey,
	}
}

type publicreportNuisanceOldForeignKeys struct {
	PublicreportNuisanceOldNuisanceAddressIDFkey      foreignKey
	PublicreportNuisanceOldNuisanceOrganizationIDFkey foreignKey
	PublicreportNuisanceOldNuisanceReviewerIDFkey     foreignKey
}

func (f publicreportNuisanceOldForeignKeys) AsSlice() []foreignKey {
	return []foreignKey{
		f.PublicreportNuisanceOldNuisanceAddressIDFkey, f.PublicreportNuisanceOldNuisanceOrganizationIDFkey, f.PublicreportNuisanceOldNuisanceReviewerIDFkey,
	}
}

type publicreportNuisanceOldUniques struct {
	NuisancePublicIDKey constraint
}

func (u publicreportNuisanceOldUniques) AsSlice() []constraint {
	return []constraint{
		u.NuisancePublicIDKey,
	}
}

type publicreportNuisanceOldChecks struct{}

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