// 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 TileServices = Table[
	tileServiceColumns,
	tileServiceIndexes,
	tileServiceForeignKeys,
	tileServiceUniques,
	tileServiceChecks,
]{
	Schema: "tile",
	Name:   "service",
	Columns: tileServiceColumns{
		ID: column{
			Name:      "id",
			DBType:    "integer",
			Default:   "nextval('tile.service_id_seq'::regclass)",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		Name: column{
			Name:      "name",
			DBType:    "text",
			Default:   "",
			Comment:   "",
			Nullable:  false,
			Generated: false,
			AutoIncr:  false,
		},
		ArcgisID: column{
			Name:      "arcgis_id",
			DBType:    "text",
			Default:   "NULL",
			Comment:   "",
			Nullable:  true,
			Generated: false,
			AutoIncr:  false,
		},
	},
	Indexes: tileServiceIndexes{
		ServicePkey: index{
			Type: "btree",
			Name: "service_pkey",
			Columns: []indexColumn{
				{
					Name:         "id",
					Desc:         null.FromCond(false, true),
					IsExpression: false,
				},
			},
			Unique:        true,
			Comment:       "",
			NullsFirst:    []bool{false},
			NullsDistinct: false,
			Where:         "",
			Include:       []string{},
		},
		ServiceNameUnique: index{
			Type: "btree",
			Name: "service_name_unique",
			Columns: []indexColumn{
				{
					Name:         "name",
					Desc:         null.FromCond(false, true),
					IsExpression: false,
				},
			},
			Unique:        true,
			Comment:       "",
			NullsFirst:    []bool{false},
			NullsDistinct: false,
			Where:         "",
			Include:       []string{},
		},
	},
	PrimaryKey: &constraint{
		Name:    "service_pkey",
		Columns: []string{"id"},
		Comment: "",
	},
	ForeignKeys: tileServiceForeignKeys{
		TileServiceServiceArcgisIDFkey: foreignKey{
			constraint: constraint{
				Name:    "tile.service.service_arcgis_id_fkey",
				Columns: []string{"arcgis_id"},
				Comment: "",
			},
			ForeignTable:   "arcgis.service_map",
			ForeignColumns: []string{"arcgis_id"},
		},
	},
	Uniques: tileServiceUniques{
		ServiceNameUnique: constraint{
			Name:    "service_name_unique",
			Columns: []string{"name"},
			Comment: "",
		},
	},

	Comment: "",
}

type tileServiceColumns struct {
	ID       column
	Name     column
	ArcgisID column
}

func (c tileServiceColumns) AsSlice() []column {
	return []column{
		c.ID, c.Name, c.ArcgisID,
	}
}

type tileServiceIndexes struct {
	ServicePkey       index
	ServiceNameUnique index
}

func (i tileServiceIndexes) AsSlice() []index {
	return []index{
		i.ServicePkey, i.ServiceNameUnique,
	}
}

type tileServiceForeignKeys struct {
	TileServiceServiceArcgisIDFkey foreignKey
}

func (f tileServiceForeignKeys) AsSlice() []foreignKey {
	return []foreignKey{
		f.TileServiceServiceArcgisIDFkey,
	}
}

type tileServiceUniques struct {
	ServiceNameUnique constraint
}

func (u tileServiceUniques) AsSlice() []constraint {
	return []constraint{
		u.ServiceNameUnique,
	}
}

type tileServiceChecks struct{}

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