//
// 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 FilmActor = newFilmActorTable()

type FilmActorTable struct {
	jet.Table

	//Columns
	ActorID    jet.ColumnInteger
	FilmID     jet.ColumnInteger
	LastUpdate jet.ColumnTimestamp

	AllColumns     jet.ColumnList
	MutableColumns jet.ColumnList
}

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

	aliasTable.Table.AS(alias)

	return aliasTable
}

func newFilmActorTable() *FilmActorTable {
	var (
		ActorIDColumn    = jet.IntegerColumn("actor_id")
		FilmIDColumn     = jet.IntegerColumn("film_id")
		LastUpdateColumn = jet.TimestampColumn("last_update")
	)

	return &FilmActorTable{
		Table: jet.NewTable("dvds", "film_actor", ActorIDColumn, FilmIDColumn, LastUpdateColumn),

		//Columns
		ActorID:    ActorIDColumn,
		FilmID:     FilmIDColumn,
		LastUpdate: LastUpdateColumn,

		AllColumns:     jet.ColumnList{ActorIDColumn, FilmIDColumn, LastUpdateColumn},
		MutableColumns: jet.ColumnList{LastUpdateColumn},
	}
}
