//
// Code generated by go-jet DO NOT EDIT.
// Generated at Wednesday, 17-Jul-19 13:11:01 CEST
//
// WARNING: Changes to this file may cause incorrect behavior
// and will be lost if the code is regenerated
//

package table

import (
	"github.com/go-jet/jet"
)

var Film = newFilmTable()

type FilmTable struct {
	jet.Table

	//Columns
	FilmID          jet.ColumnInteger
	Title           jet.ColumnString
	Description     jet.ColumnString
	ReleaseYear     jet.ColumnInteger
	LanguageID      jet.ColumnInteger
	RentalDuration  jet.ColumnInteger
	RentalRate      jet.ColumnFloat
	Length          jet.ColumnInteger
	ReplacementCost jet.ColumnFloat
	Rating          jet.ColumnString
	LastUpdate      jet.ColumnTimestamp
	SpecialFeatures jet.ColumnString
	Fulltext        jet.ColumnString

	AllColumns     jet.ColumnList
	MutableColumns jet.ColumnList
}

// creates new FilmTable with assigned alias
func (a *FilmTable) AS(alias string) *FilmTable {
	aliasTable := newFilmTable()

	aliasTable.Table.AS(alias)

	return aliasTable
}

func newFilmTable() *FilmTable {
	var (
		FilmIDColumn          = jet.IntegerColumn("film_id")
		TitleColumn           = jet.StringColumn("title")
		DescriptionColumn     = jet.StringColumn("description")
		ReleaseYearColumn     = jet.IntegerColumn("release_year")
		LanguageIDColumn      = jet.IntegerColumn("language_id")
		RentalDurationColumn  = jet.IntegerColumn("rental_duration")
		RentalRateColumn      = jet.FloatColumn("rental_rate")
		LengthColumn          = jet.IntegerColumn("length")
		ReplacementCostColumn = jet.FloatColumn("replacement_cost")
		RatingColumn          = jet.StringColumn("rating")
		LastUpdateColumn      = jet.TimestampColumn("last_update")
		SpecialFeaturesColumn = jet.StringColumn("special_features")
		FulltextColumn        = jet.StringColumn("fulltext")
	)

	return &FilmTable{
		Table: jet.NewTable("dvds", "film", FilmIDColumn, TitleColumn, DescriptionColumn, ReleaseYearColumn, LanguageIDColumn, RentalDurationColumn, RentalRateColumn, LengthColumn, ReplacementCostColumn, RatingColumn, LastUpdateColumn, SpecialFeaturesColumn, FulltextColumn),

		//Columns
		FilmID:          FilmIDColumn,
		Title:           TitleColumn,
		Description:     DescriptionColumn,
		ReleaseYear:     ReleaseYearColumn,
		LanguageID:      LanguageIDColumn,
		RentalDuration:  RentalDurationColumn,
		RentalRate:      RentalRateColumn,
		Length:          LengthColumn,
		ReplacementCost: ReplacementCostColumn,
		Rating:          RatingColumn,
		LastUpdate:      LastUpdateColumn,
		SpecialFeatures: SpecialFeaturesColumn,
		Fulltext:        FulltextColumn,

		AllColumns:     jet.ColumnList{FilmIDColumn, TitleColumn, DescriptionColumn, ReleaseYearColumn, LanguageIDColumn, RentalDurationColumn, RentalRateColumn, LengthColumn, ReplacementCostColumn, RatingColumn, LastUpdateColumn, SpecialFeaturesColumn, FulltextColumn},
		MutableColumns: jet.ColumnList{TitleColumn, DescriptionColumn, ReleaseYearColumn, LanguageIDColumn, RentalDurationColumn, RentalRateColumn, LengthColumn, ReplacementCostColumn, RatingColumn, LastUpdateColumn, SpecialFeaturesColumn, FulltextColumn},
	}
}
