// Code generated by go-queryset. DO NOT EDIT.
package entity

import (
	"errors"
	"fmt"
	"strings"
	"time"

	"github.com/tidbcloud/central-sdk/config"
	"github.com/pingcap/dbaas/pkg/capacity"
	"gorm.io/gorm"
)

// ===== BEGIN of all query sets

// ===== BEGIN of query set APIKeyQuerySet

// APIKeyQuerySet is an queryset type for APIKey
type APIKeyQuerySet struct {
	db *gorm.DB
}

// NewAPIKeyQuerySet constructs new APIKeyQuerySet
func NewAPIKeyQuerySet(db *gorm.DB) APIKeyQuerySet {
	return APIKeyQuerySet{
		db: db.Model(&APIKey{}),
	}
}

func (qs APIKeyQuerySet) w(db *gorm.DB) APIKeyQuerySet {
	return NewAPIKeyQuerySet(db)
}

func (qs APIKeyQuerySet) Select(fields ...APIKeyDBSchemaField) APIKeyQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *APIKey) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *APIKey) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) All(ret *[]APIKey) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedAtEq(createdAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedAtGt(createdAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedAtGte(createdAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedAtLt(createdAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedAtLte(createdAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedAtNe(createdAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// CreatedByIDEq is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedByIDEq(createdByID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_by_id = ?", createdByID))
}

// CreatedByIDGt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedByIDGt(createdByID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_by_id > ?", createdByID))
}

// CreatedByIDGte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedByIDGte(createdByID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_by_id >= ?", createdByID))
}

// CreatedByIDIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedByIDIn(createdByID ...ID) APIKeyQuerySet {
	if len(createdByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one createdByID in CreatedByIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("created_by_id IN (?)", createdByID))
}

// CreatedByIDLt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedByIDLt(createdByID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_by_id < ?", createdByID))
}

// CreatedByIDLte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedByIDLte(createdByID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_by_id <= ?", createdByID))
}

// CreatedByIDNe is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedByIDNe(createdByID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_by_id != ?", createdByID))
}

// CreatedByIDNotIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedByIDNotIn(createdByID ...ID) APIKeyQuerySet {
	if len(createdByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one createdByID in CreatedByIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("created_by_id NOT IN (?)", createdByID))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) Delete() error {
	return qs.db.Delete(&APIKey{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&APIKey{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&APIKey{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) GetUpdater() APIKeyUpdater {
	return NewAPIKeyUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) IDEq(ID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) IDGt(ID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) IDGte(ID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) IDIn(ID ...ID) APIKeyQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) IDLt(ID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) IDLte(ID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) IDNe(ID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) IDNotIn(ID ...ID) APIKeyQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// KeyHashEq is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashEq(keyHash string) APIKeyQuerySet {
	return qs.w(qs.db.Where("key_hash = ?", keyHash))
}

// KeyHashGt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashGt(keyHash string) APIKeyQuerySet {
	return qs.w(qs.db.Where("key_hash > ?", keyHash))
}

// KeyHashGte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashGte(keyHash string) APIKeyQuerySet {
	return qs.w(qs.db.Where("key_hash >= ?", keyHash))
}

// KeyHashIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashIn(keyHash ...string) APIKeyQuerySet {
	if len(keyHash) == 0 {
		qs.db.AddError(errors.New("must at least pass one keyHash in KeyHashIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("key_hash IN (?)", keyHash))
}

// KeyHashLike is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashLike(keyHash string) APIKeyQuerySet {
	return qs.w(qs.db.Where("key_hash LIKE ?", keyHash))
}

// KeyHashLt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashLt(keyHash string) APIKeyQuerySet {
	return qs.w(qs.db.Where("key_hash < ?", keyHash))
}

// KeyHashLte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashLte(keyHash string) APIKeyQuerySet {
	return qs.w(qs.db.Where("key_hash <= ?", keyHash))
}

// KeyHashNe is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashNe(keyHash string) APIKeyQuerySet {
	return qs.w(qs.db.Where("key_hash != ?", keyHash))
}

// KeyHashNotIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashNotIn(keyHash ...string) APIKeyQuerySet {
	if len(keyHash) == 0 {
		qs.db.AddError(errors.New("must at least pass one keyHash in KeyHashNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("key_hash NOT IN (?)", keyHash))
}

// KeyHashNotlike is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashNotlike(keyHash string) APIKeyQuerySet {
	return qs.w(qs.db.Where("key_hash NOT LIKE ?", keyHash))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) Limit(limit int) APIKeyQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameEq(name string) APIKeyQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameGt(name string) APIKeyQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameGte(name string) APIKeyQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameIn(name ...string) APIKeyQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameLike(name string) APIKeyQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameLt(name string) APIKeyQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameLte(name string) APIKeyQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameNe(name string) APIKeyQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameNotIn(name ...string) APIKeyQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameNotlike(name string) APIKeyQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) Offset(offset int) APIKeyQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs APIKeyQuerySet) One(ret *APIKey) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderAscByCreatedAt() APIKeyQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByCreatedByID is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderAscByCreatedByID() APIKeyQuerySet {
	return qs.w(qs.db.Order("created_by_id ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderAscByID() APIKeyQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByKeyHash is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderAscByKeyHash() APIKeyQuerySet {
	return qs.w(qs.db.Order("key_hash ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderAscByName() APIKeyQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderAscByTenantID() APIKeyQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderAscByUpdatedAt() APIKeyQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderDescByCreatedAt() APIKeyQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByCreatedByID is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderDescByCreatedByID() APIKeyQuerySet {
	return qs.w(qs.db.Order("created_by_id DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderDescByID() APIKeyQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByKeyHash is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderDescByKeyHash() APIKeyQuerySet {
	return qs.w(qs.db.Order("key_hash DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderDescByName() APIKeyQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderDescByTenantID() APIKeyQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderDescByUpdatedAt() APIKeyQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) TenantIDEq(tenantID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) TenantIDGt(tenantID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) TenantIDGte(tenantID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) TenantIDIn(tenantID ...ID) APIKeyQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) TenantIDLt(tenantID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) TenantIDLte(tenantID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) TenantIDNe(tenantID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) TenantIDNotIn(tenantID ...ID) APIKeyQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) UpdatedAtEq(updatedAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) UpdatedAtGt(updatedAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) UpdatedAtGte(updatedAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) UpdatedAtIsNotNull() APIKeyQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) UpdatedAtIsNull() APIKeyQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) UpdatedAtLt(updatedAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) UpdatedAtLte(updatedAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) UpdatedAtNe(updatedAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) SetCreatedAt(createdAt time.Time) APIKeyUpdater {
	u.fields[string(APIKeyDBSchema.CreatedAt)] = createdAt
	return u
}

// SetCreatedByID is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) SetCreatedByID(createdByID ID) APIKeyUpdater {
	u.fields[string(APIKeyDBSchema.CreatedByID)] = createdByID
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) SetID(ID ID) APIKeyUpdater {
	u.fields[string(APIKeyDBSchema.ID)] = ID
	return u
}

// SetKeyHash is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) SetKeyHash(keyHash string) APIKeyUpdater {
	u.fields[string(APIKeyDBSchema.KeyHash)] = keyHash
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) SetName(name string) APIKeyUpdater {
	u.fields[string(APIKeyDBSchema.Name)] = name
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) SetTenantID(tenantID ID) APIKeyUpdater {
	u.fields[string(APIKeyDBSchema.TenantID)] = tenantID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) SetUpdatedAt(updatedAt *time.Time) APIKeyUpdater {
	u.fields[string(APIKeyDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set APIKeyQuerySet

// ===== BEGIN of APIKey modifiers

// APIKeyDBSchemaField describes database schema field. It requires for method 'Update'
type APIKeyDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f APIKeyDBSchemaField) String() string {
	return string(f)
}

// APIKeyDBSchema stores db field names of APIKey
var APIKeyDBSchema = struct {
	ID          APIKeyDBSchemaField
	CreatedAt   APIKeyDBSchemaField
	UpdatedAt   APIKeyDBSchemaField
	TenantID    APIKeyDBSchemaField
	CreatedByID APIKeyDBSchemaField
	Name        APIKeyDBSchemaField
	KeyHash     APIKeyDBSchemaField
}{

	ID:          APIKeyDBSchemaField("id"),
	CreatedAt:   APIKeyDBSchemaField("created_at"),
	UpdatedAt:   APIKeyDBSchemaField("updated_at"),
	TenantID:    APIKeyDBSchemaField("tenant_id"),
	CreatedByID: APIKeyDBSchemaField("created_by_id"),
	Name:        APIKeyDBSchemaField("name"),
	KeyHash:     APIKeyDBSchemaField("key_hash"),
}

// Update updates APIKey fields by primary key
// nolint: dupl
func (o *APIKey) Update(db *gorm.DB, fields ...APIKeyDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":            o.ID,
		"created_at":    o.CreatedAt,
		"updated_at":    o.UpdatedAt,
		"tenant_id":     o.TenantID,
		"created_by_id": o.CreatedByID,
		"name":          o.Name,
		"key_hash":      o.KeyHash,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update APIKey %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// APIKeyUpdater is an APIKey updates manager
type APIKeyUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewAPIKeyUpdater creates new APIKey updater
// nolint: dupl
func NewAPIKeyUpdater(db *gorm.DB) APIKeyUpdater {
	return APIKeyUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&APIKey{}),
	}
}

// ===== END of APIKey modifiers

// ===== BEGIN of query set AccessLogQuerySet

// AccessLogQuerySet is an queryset type for AccessLog
type AccessLogQuerySet struct {
	db *gorm.DB
}

// NewAccessLogQuerySet constructs new AccessLogQuerySet
func NewAccessLogQuerySet(db *gorm.DB) AccessLogQuerySet {
	return AccessLogQuerySet{
		db: db.Model(&AccessLog{}),
	}
}

func (qs AccessLogQuerySet) w(db *gorm.DB) AccessLogQuerySet {
	return NewAccessLogQuerySet(db)
}

func (qs AccessLogQuerySet) Select(fields ...AccessLogDBSchemaField) AccessLogQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *AccessLog) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *AccessLog) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// AccessorEq is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) AccessorEq(accessor string) AccessLogQuerySet {
	return qs.w(qs.db.Where("accessor = ?", accessor))
}

// AccessorGt is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) AccessorGt(accessor string) AccessLogQuerySet {
	return qs.w(qs.db.Where("accessor > ?", accessor))
}

// AccessorGte is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) AccessorGte(accessor string) AccessLogQuerySet {
	return qs.w(qs.db.Where("accessor >= ?", accessor))
}

// AccessorIn is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) AccessorIn(accessor ...string) AccessLogQuerySet {
	if len(accessor) == 0 {
		qs.db.AddError(errors.New("must at least pass one accessor in AccessorIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("accessor IN (?)", accessor))
}

// AccessorLike is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) AccessorLike(accessor string) AccessLogQuerySet {
	return qs.w(qs.db.Where("accessor LIKE ?", accessor))
}

// AccessorLt is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) AccessorLt(accessor string) AccessLogQuerySet {
	return qs.w(qs.db.Where("accessor < ?", accessor))
}

// AccessorLte is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) AccessorLte(accessor string) AccessLogQuerySet {
	return qs.w(qs.db.Where("accessor <= ?", accessor))
}

// AccessorNe is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) AccessorNe(accessor string) AccessLogQuerySet {
	return qs.w(qs.db.Where("accessor != ?", accessor))
}

// AccessorNotIn is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) AccessorNotIn(accessor ...string) AccessLogQuerySet {
	if len(accessor) == 0 {
		qs.db.AddError(errors.New("must at least pass one accessor in AccessorNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("accessor NOT IN (?)", accessor))
}

// AccessorNotlike is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) AccessorNotlike(accessor string) AccessLogQuerySet {
	return qs.w(qs.db.Where("accessor NOT LIKE ?", accessor))
}

// All is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) All(ret *[]AccessLog) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) CreatedAtEq(createdAt time.Time) AccessLogQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) CreatedAtGt(createdAt time.Time) AccessLogQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) CreatedAtGte(createdAt time.Time) AccessLogQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) CreatedAtLt(createdAt time.Time) AccessLogQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) CreatedAtLte(createdAt time.Time) AccessLogQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) CreatedAtNe(createdAt time.Time) AccessLogQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) Delete() error {
	return qs.db.Delete(&AccessLog{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&AccessLog{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&AccessLog{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) GetUpdater() AccessLogUpdater {
	return NewAccessLogUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) IDEq(ID ID) AccessLogQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) IDGt(ID ID) AccessLogQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) IDGte(ID ID) AccessLogQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) IDIn(ID ...ID) AccessLogQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) IDLt(ID ID) AccessLogQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) IDLte(ID ID) AccessLogQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) IDNe(ID ID) AccessLogQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) IDNotIn(ID ...ID) AccessLogQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) Limit(limit int) AccessLogQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) Offset(offset int) AccessLogQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs AccessLogQuerySet) One(ret *AccessLog) error {
	return qs.db.First(ret).Error
}

// OrderAscByAccessor is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) OrderAscByAccessor() AccessLogQuerySet {
	return qs.w(qs.db.Order("accessor ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) OrderAscByCreatedAt() AccessLogQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) OrderAscByID() AccessLogQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByScene is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) OrderAscByScene() AccessLogQuerySet {
	return qs.w(qs.db.Order("scene ASC"))
}

// OrderAscByTarget is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) OrderAscByTarget() AccessLogQuerySet {
	return qs.w(qs.db.Order("target ASC"))
}

// OrderAscByTimestamp is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) OrderAscByTimestamp() AccessLogQuerySet {
	return qs.w(qs.db.Order("timestamp ASC"))
}

// OrderDescByAccessor is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) OrderDescByAccessor() AccessLogQuerySet {
	return qs.w(qs.db.Order("accessor DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) OrderDescByCreatedAt() AccessLogQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) OrderDescByID() AccessLogQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByScene is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) OrderDescByScene() AccessLogQuerySet {
	return qs.w(qs.db.Order("scene DESC"))
}

// OrderDescByTarget is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) OrderDescByTarget() AccessLogQuerySet {
	return qs.w(qs.db.Order("target DESC"))
}

// OrderDescByTimestamp is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) OrderDescByTimestamp() AccessLogQuerySet {
	return qs.w(qs.db.Order("timestamp DESC"))
}

// SceneEq is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) SceneEq(scene string) AccessLogQuerySet {
	return qs.w(qs.db.Where("scene = ?", scene))
}

// SceneGt is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) SceneGt(scene string) AccessLogQuerySet {
	return qs.w(qs.db.Where("scene > ?", scene))
}

// SceneGte is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) SceneGte(scene string) AccessLogQuerySet {
	return qs.w(qs.db.Where("scene >= ?", scene))
}

// SceneIn is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) SceneIn(scene ...string) AccessLogQuerySet {
	if len(scene) == 0 {
		qs.db.AddError(errors.New("must at least pass one scene in SceneIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("scene IN (?)", scene))
}

// SceneLike is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) SceneLike(scene string) AccessLogQuerySet {
	return qs.w(qs.db.Where("scene LIKE ?", scene))
}

// SceneLt is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) SceneLt(scene string) AccessLogQuerySet {
	return qs.w(qs.db.Where("scene < ?", scene))
}

// SceneLte is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) SceneLte(scene string) AccessLogQuerySet {
	return qs.w(qs.db.Where("scene <= ?", scene))
}

// SceneNe is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) SceneNe(scene string) AccessLogQuerySet {
	return qs.w(qs.db.Where("scene != ?", scene))
}

// SceneNotIn is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) SceneNotIn(scene ...string) AccessLogQuerySet {
	if len(scene) == 0 {
		qs.db.AddError(errors.New("must at least pass one scene in SceneNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("scene NOT IN (?)", scene))
}

// SceneNotlike is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) SceneNotlike(scene string) AccessLogQuerySet {
	return qs.w(qs.db.Where("scene NOT LIKE ?", scene))
}

// TargetEq is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) TargetEq(target string) AccessLogQuerySet {
	return qs.w(qs.db.Where("target = ?", target))
}

// TargetGt is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) TargetGt(target string) AccessLogQuerySet {
	return qs.w(qs.db.Where("target > ?", target))
}

// TargetGte is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) TargetGte(target string) AccessLogQuerySet {
	return qs.w(qs.db.Where("target >= ?", target))
}

// TargetIn is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) TargetIn(target ...string) AccessLogQuerySet {
	if len(target) == 0 {
		qs.db.AddError(errors.New("must at least pass one target in TargetIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("target IN (?)", target))
}

// TargetLike is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) TargetLike(target string) AccessLogQuerySet {
	return qs.w(qs.db.Where("target LIKE ?", target))
}

// TargetLt is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) TargetLt(target string) AccessLogQuerySet {
	return qs.w(qs.db.Where("target < ?", target))
}

// TargetLte is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) TargetLte(target string) AccessLogQuerySet {
	return qs.w(qs.db.Where("target <= ?", target))
}

// TargetNe is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) TargetNe(target string) AccessLogQuerySet {
	return qs.w(qs.db.Where("target != ?", target))
}

// TargetNotIn is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) TargetNotIn(target ...string) AccessLogQuerySet {
	if len(target) == 0 {
		qs.db.AddError(errors.New("must at least pass one target in TargetNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("target NOT IN (?)", target))
}

// TargetNotlike is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) TargetNotlike(target string) AccessLogQuerySet {
	return qs.w(qs.db.Where("target NOT LIKE ?", target))
}

// TimestampEq is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) TimestampEq(timestamp time.Time) AccessLogQuerySet {
	return qs.w(qs.db.Where("timestamp = ?", timestamp))
}

// TimestampGt is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) TimestampGt(timestamp time.Time) AccessLogQuerySet {
	return qs.w(qs.db.Where("timestamp > ?", timestamp))
}

// TimestampGte is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) TimestampGte(timestamp time.Time) AccessLogQuerySet {
	return qs.w(qs.db.Where("timestamp >= ?", timestamp))
}

// TimestampLt is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) TimestampLt(timestamp time.Time) AccessLogQuerySet {
	return qs.w(qs.db.Where("timestamp < ?", timestamp))
}

// TimestampLte is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) TimestampLte(timestamp time.Time) AccessLogQuerySet {
	return qs.w(qs.db.Where("timestamp <= ?", timestamp))
}

// TimestampNe is an autogenerated method
// nolint: dupl
func (qs AccessLogQuerySet) TimestampNe(timestamp time.Time) AccessLogQuerySet {
	return qs.w(qs.db.Where("timestamp != ?", timestamp))
}

// SetAccessor is an autogenerated method
// nolint: dupl
func (u AccessLogUpdater) SetAccessor(accessor string) AccessLogUpdater {
	u.fields[string(AccessLogDBSchema.Accessor)] = accessor
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u AccessLogUpdater) SetCreatedAt(createdAt time.Time) AccessLogUpdater {
	u.fields[string(AccessLogDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u AccessLogUpdater) SetID(ID ID) AccessLogUpdater {
	u.fields[string(AccessLogDBSchema.ID)] = ID
	return u
}

// SetScene is an autogenerated method
// nolint: dupl
func (u AccessLogUpdater) SetScene(scene string) AccessLogUpdater {
	u.fields[string(AccessLogDBSchema.Scene)] = scene
	return u
}

// SetTarget is an autogenerated method
// nolint: dupl
func (u AccessLogUpdater) SetTarget(target string) AccessLogUpdater {
	u.fields[string(AccessLogDBSchema.Target)] = target
	return u
}

// SetTimestamp is an autogenerated method
// nolint: dupl
func (u AccessLogUpdater) SetTimestamp(timestamp time.Time) AccessLogUpdater {
	u.fields[string(AccessLogDBSchema.Timestamp)] = timestamp
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u AccessLogUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u AccessLogUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set AccessLogQuerySet

// ===== BEGIN of AccessLog modifiers

// AccessLogDBSchemaField describes database schema field. It requires for method 'Update'
type AccessLogDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f AccessLogDBSchemaField) String() string {
	return string(f)
}

// AccessLogDBSchema stores db field names of AccessLog
var AccessLogDBSchema = struct {
	ID        AccessLogDBSchemaField
	CreatedAt AccessLogDBSchemaField
	Accessor  AccessLogDBSchemaField
	Scene     AccessLogDBSchemaField
	Timestamp AccessLogDBSchemaField
	Target    AccessLogDBSchemaField
}{

	ID:        AccessLogDBSchemaField("id"),
	CreatedAt: AccessLogDBSchemaField("created_at"),
	Accessor:  AccessLogDBSchemaField("accessor"),
	Scene:     AccessLogDBSchemaField("scene"),
	Timestamp: AccessLogDBSchemaField("timestamp"),
	Target:    AccessLogDBSchemaField("target"),
}

// Update updates AccessLog fields by primary key
// nolint: dupl
func (o *AccessLog) Update(db *gorm.DB, fields ...AccessLogDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"accessor":   o.Accessor,
		"scene":      o.Scene,
		"timestamp":  o.Timestamp,
		"target":     o.Target,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update AccessLog %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// AccessLogUpdater is an AccessLog updates manager
type AccessLogUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewAccessLogUpdater creates new AccessLog updater
// nolint: dupl
func NewAccessLogUpdater(db *gorm.DB) AccessLogUpdater {
	return AccessLogUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&AccessLog{}),
	}
}

// ===== END of AccessLog modifiers

// ===== BEGIN of query set AuditLogQuerySet

// AuditLogQuerySet is an queryset type for AuditLog
type AuditLogQuerySet struct {
	db *gorm.DB
}

// NewAuditLogQuerySet constructs new AuditLogQuerySet
func NewAuditLogQuerySet(db *gorm.DB) AuditLogQuerySet {
	return AuditLogQuerySet{
		db: db.Model(&AuditLog{}),
	}
}

func (qs AuditLogQuerySet) w(db *gorm.DB) AuditLogQuerySet {
	return NewAuditLogQuerySet(db)
}

func (qs AuditLogQuerySet) Select(fields ...AuditLogDBSchemaField) AuditLogQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *AuditLog) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *AuditLog) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) All(ret *[]AuditLog) error {
	return qs.db.Find(ret).Error
}

// ContentEq is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) ContentEq(content string) AuditLogQuerySet {
	return qs.w(qs.db.Where("content = ?", content))
}

// ContentGt is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) ContentGt(content string) AuditLogQuerySet {
	return qs.w(qs.db.Where("content > ?", content))
}

// ContentGte is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) ContentGte(content string) AuditLogQuerySet {
	return qs.w(qs.db.Where("content >= ?", content))
}

// ContentIn is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) ContentIn(content ...string) AuditLogQuerySet {
	if len(content) == 0 {
		qs.db.AddError(errors.New("must at least pass one content in ContentIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("content IN (?)", content))
}

// ContentLike is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) ContentLike(content string) AuditLogQuerySet {
	return qs.w(qs.db.Where("content LIKE ?", content))
}

// ContentLt is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) ContentLt(content string) AuditLogQuerySet {
	return qs.w(qs.db.Where("content < ?", content))
}

// ContentLte is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) ContentLte(content string) AuditLogQuerySet {
	return qs.w(qs.db.Where("content <= ?", content))
}

// ContentNe is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) ContentNe(content string) AuditLogQuerySet {
	return qs.w(qs.db.Where("content != ?", content))
}

// ContentNotIn is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) ContentNotIn(content ...string) AuditLogQuerySet {
	if len(content) == 0 {
		qs.db.AddError(errors.New("must at least pass one content in ContentNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("content NOT IN (?)", content))
}

// ContentNotlike is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) ContentNotlike(content string) AuditLogQuerySet {
	return qs.w(qs.db.Where("content NOT LIKE ?", content))
}

// Count is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) CreatedAtEq(createdAt time.Time) AuditLogQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) CreatedAtGt(createdAt time.Time) AuditLogQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) CreatedAtGte(createdAt time.Time) AuditLogQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) CreatedAtLt(createdAt time.Time) AuditLogQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) CreatedAtLte(createdAt time.Time) AuditLogQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) CreatedAtNe(createdAt time.Time) AuditLogQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) Delete() error {
	return qs.db.Delete(&AuditLog{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&AuditLog{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&AuditLog{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) GetUpdater() AuditLogUpdater {
	return NewAuditLogUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) IDEq(ID ID) AuditLogQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) IDGt(ID ID) AuditLogQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) IDGte(ID ID) AuditLogQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) IDIn(ID ...ID) AuditLogQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) IDLt(ID ID) AuditLogQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) IDLte(ID ID) AuditLogQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) IDNe(ID ID) AuditLogQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) IDNotIn(ID ...ID) AuditLogQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) Limit(limit int) AuditLogQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) Offset(offset int) AuditLogQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs AuditLogQuerySet) One(ret *AuditLog) error {
	return qs.db.First(ret).Error
}

// OrderAscByContent is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) OrderAscByContent() AuditLogQuerySet {
	return qs.w(qs.db.Order("content ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) OrderAscByCreatedAt() AuditLogQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) OrderAscByID() AuditLogQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) OrderAscByTenantID() AuditLogQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByUser is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) OrderAscByUser() AuditLogQuerySet {
	return qs.w(qs.db.Order("user ASC"))
}

// OrderDescByContent is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) OrderDescByContent() AuditLogQuerySet {
	return qs.w(qs.db.Order("content DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) OrderDescByCreatedAt() AuditLogQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) OrderDescByID() AuditLogQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) OrderDescByTenantID() AuditLogQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByUser is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) OrderDescByUser() AuditLogQuerySet {
	return qs.w(qs.db.Order("user DESC"))
}

// PreloadTenant is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) PreloadTenant() AuditLogQuerySet {
	return qs.w(qs.db.Preload("Tenant"))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) TenantIDEq(tenantID ID) AuditLogQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) TenantIDGt(tenantID ID) AuditLogQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) TenantIDGte(tenantID ID) AuditLogQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) TenantIDIn(tenantID ...ID) AuditLogQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) TenantIDLt(tenantID ID) AuditLogQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) TenantIDLte(tenantID ID) AuditLogQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) TenantIDNe(tenantID ID) AuditLogQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) TenantIDNotIn(tenantID ...ID) AuditLogQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// TenantIsNotNull is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) TenantIsNotNull() AuditLogQuerySet {
	return qs.w(qs.db.Where("tenant IS NOT NULL"))
}

// TenantIsNull is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) TenantIsNull() AuditLogQuerySet {
	return qs.w(qs.db.Where("tenant IS NULL"))
}

// UserEq is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) UserEq(user string) AuditLogQuerySet {
	return qs.w(qs.db.Where("user = ?", user))
}

// UserGt is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) UserGt(user string) AuditLogQuerySet {
	return qs.w(qs.db.Where("user > ?", user))
}

// UserGte is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) UserGte(user string) AuditLogQuerySet {
	return qs.w(qs.db.Where("user >= ?", user))
}

// UserIn is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) UserIn(user ...string) AuditLogQuerySet {
	if len(user) == 0 {
		qs.db.AddError(errors.New("must at least pass one user in UserIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("user IN (?)", user))
}

// UserLike is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) UserLike(user string) AuditLogQuerySet {
	return qs.w(qs.db.Where("user LIKE ?", user))
}

// UserLt is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) UserLt(user string) AuditLogQuerySet {
	return qs.w(qs.db.Where("user < ?", user))
}

// UserLte is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) UserLte(user string) AuditLogQuerySet {
	return qs.w(qs.db.Where("user <= ?", user))
}

// UserNe is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) UserNe(user string) AuditLogQuerySet {
	return qs.w(qs.db.Where("user != ?", user))
}

// UserNotIn is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) UserNotIn(user ...string) AuditLogQuerySet {
	if len(user) == 0 {
		qs.db.AddError(errors.New("must at least pass one user in UserNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("user NOT IN (?)", user))
}

// UserNotlike is an autogenerated method
// nolint: dupl
func (qs AuditLogQuerySet) UserNotlike(user string) AuditLogQuerySet {
	return qs.w(qs.db.Where("user NOT LIKE ?", user))
}

// SetContent is an autogenerated method
// nolint: dupl
func (u AuditLogUpdater) SetContent(content string) AuditLogUpdater {
	u.fields[string(AuditLogDBSchema.Content)] = content
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u AuditLogUpdater) SetCreatedAt(createdAt time.Time) AuditLogUpdater {
	u.fields[string(AuditLogDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u AuditLogUpdater) SetID(ID ID) AuditLogUpdater {
	u.fields[string(AuditLogDBSchema.ID)] = ID
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u AuditLogUpdater) SetTenantID(tenantID ID) AuditLogUpdater {
	u.fields[string(AuditLogDBSchema.TenantID)] = tenantID
	return u
}

// SetUser is an autogenerated method
// nolint: dupl
func (u AuditLogUpdater) SetUser(user string) AuditLogUpdater {
	u.fields[string(AuditLogDBSchema.User)] = user
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u AuditLogUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u AuditLogUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set AuditLogQuerySet

// ===== BEGIN of AuditLog modifiers

// AuditLogDBSchemaField describes database schema field. It requires for method 'Update'
type AuditLogDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f AuditLogDBSchemaField) String() string {
	return string(f)
}

// AuditLogDBSchema stores db field names of AuditLog
var AuditLogDBSchema = struct {
	ID        AuditLogDBSchemaField
	CreatedAt AuditLogDBSchemaField
	TenantID  AuditLogDBSchemaField
	Tenant    AuditLogDBSchemaField
	User      AuditLogDBSchemaField
	Content   AuditLogDBSchemaField
}{

	ID:        AuditLogDBSchemaField("id"),
	CreatedAt: AuditLogDBSchemaField("created_at"),
	TenantID:  AuditLogDBSchemaField("tenant_id"),
	Tenant:    AuditLogDBSchemaField("tenant"),
	User:      AuditLogDBSchemaField("user"),
	Content:   AuditLogDBSchemaField("content"),
}

// Update updates AuditLog fields by primary key
// nolint: dupl
func (o *AuditLog) Update(db *gorm.DB, fields ...AuditLogDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"tenant_id":  o.TenantID,
		"tenant":     o.Tenant,
		"user":       o.User,
		"content":    o.Content,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update AuditLog %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// AuditLogUpdater is an AuditLog updates manager
type AuditLogUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewAuditLogUpdater creates new AuditLog updater
// nolint: dupl
func NewAuditLogUpdater(db *gorm.DB) AuditLogUpdater {
	return AuditLogUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&AuditLog{}),
	}
}

// ===== END of AuditLog modifiers

// ===== BEGIN of query set AwsVpcPeeringQuerySet

// AwsVpcPeeringQuerySet is an queryset type for AwsVpcPeering
type AwsVpcPeeringQuerySet struct {
	db *gorm.DB
}

// NewAwsVpcPeeringQuerySet constructs new AwsVpcPeeringQuerySet
func NewAwsVpcPeeringQuerySet(db *gorm.DB) AwsVpcPeeringQuerySet {
	return AwsVpcPeeringQuerySet{
		db: db.Model(&AwsVpcPeering{}),
	}
}

func (qs AwsVpcPeeringQuerySet) w(db *gorm.DB) AwsVpcPeeringQuerySet {
	return NewAwsVpcPeeringQuerySet(db)
}

func (qs AwsVpcPeeringQuerySet) Select(fields ...AwsVpcPeeringDBSchemaField) AwsVpcPeeringQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *AwsVpcPeering) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *AwsVpcPeering) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) All(ret *[]AwsVpcPeering) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) CreatedAtEq(createdAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) CreatedAtGt(createdAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) CreatedAtGte(createdAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) CreatedAtLt(createdAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) CreatedAtLte(createdAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) CreatedAtNe(createdAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) Delete() error {
	return qs.db.Delete(&AwsVpcPeering{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&AwsVpcPeering{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&AwsVpcPeering{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) GetUpdater() AwsVpcPeeringUpdater {
	return NewAwsVpcPeeringUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) IDEq(ID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) IDGt(ID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) IDGte(ID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) IDIn(ID ...ID) AwsVpcPeeringQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) IDLt(ID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) IDLte(ID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) IDNe(ID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) IDNotIn(ID ...ID) AwsVpcPeeringQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) Limit(limit int) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) Offset(offset int) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs AwsVpcPeeringQuerySet) One(ret *AwsVpcPeering) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByCreatedAt() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByPrivateHostZone is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByPrivateHostZone() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("private_host_zone ASC"))
}

// OrderAscByProjectID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByProjectID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("project_id ASC"))
}

// OrderAscByRegion is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByRegion() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("region ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByStatus() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByTenantAccountID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByTenantAccountID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_account_id ASC"))
}

// OrderAscByTenantRegion is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByTenantRegion() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_region ASC"))
}

// OrderAscByTenantVpcCIDR is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByTenantVpcCIDR() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_vpc_c_id_r ASC"))
}

// OrderAscByTenantVpcID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByTenantVpcID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_vpc_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByUpdatedAt() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVpcPeeringID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByVpcPeeringID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("vpc_peering_id ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByCreatedAt() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByPrivateHostZone is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByPrivateHostZone() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("private_host_zone DESC"))
}

// OrderDescByProjectID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByProjectID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("project_id DESC"))
}

// OrderDescByRegion is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByRegion() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("region DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByStatus() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByTenantAccountID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByTenantAccountID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_account_id DESC"))
}

// OrderDescByTenantRegion is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByTenantRegion() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_region DESC"))
}

// OrderDescByTenantVpcCIDR is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByTenantVpcCIDR() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_vpc_c_id_r DESC"))
}

// OrderDescByTenantVpcID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByTenantVpcID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_vpc_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByUpdatedAt() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVpcPeeringID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByVpcPeeringID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("vpc_peering_id DESC"))
}

// PreloadProject is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PreloadProject() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Preload("Project"))
}

// PrivateHostZoneEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneEq(privateHostZone string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("private_host_zone = ?", privateHostZone))
}

// PrivateHostZoneGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneGt(privateHostZone string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("private_host_zone > ?", privateHostZone))
}

// PrivateHostZoneGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneGte(privateHostZone string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("private_host_zone >= ?", privateHostZone))
}

// PrivateHostZoneIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneIn(privateHostZone ...string) AwsVpcPeeringQuerySet {
	if len(privateHostZone) == 0 {
		qs.db.AddError(errors.New("must at least pass one privateHostZone in PrivateHostZoneIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("private_host_zone IN (?)", privateHostZone))
}

// PrivateHostZoneLike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneLike(privateHostZone string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("private_host_zone LIKE ?", privateHostZone))
}

// PrivateHostZoneLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneLt(privateHostZone string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("private_host_zone < ?", privateHostZone))
}

// PrivateHostZoneLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneLte(privateHostZone string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("private_host_zone <= ?", privateHostZone))
}

// PrivateHostZoneNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneNe(privateHostZone string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("private_host_zone != ?", privateHostZone))
}

// PrivateHostZoneNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneNotIn(privateHostZone ...string) AwsVpcPeeringQuerySet {
	if len(privateHostZone) == 0 {
		qs.db.AddError(errors.New("must at least pass one privateHostZone in PrivateHostZoneNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("private_host_zone NOT IN (?)", privateHostZone))
}

// PrivateHostZoneNotlike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneNotlike(privateHostZone string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("private_host_zone NOT LIKE ?", privateHostZone))
}

// ProjectIDEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIDEq(projectID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id = ?", projectID))
}

// ProjectIDGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIDGt(projectID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id > ?", projectID))
}

// ProjectIDGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIDGte(projectID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id >= ?", projectID))
}

// ProjectIDIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIDIn(projectID ...ID) AwsVpcPeeringQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id IN (?)", projectID))
}

// ProjectIDLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIDLt(projectID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id < ?", projectID))
}

// ProjectIDLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIDLte(projectID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id <= ?", projectID))
}

// ProjectIDNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIDNe(projectID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id != ?", projectID))
}

// ProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIDNotIn(projectID ...ID) AwsVpcPeeringQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id NOT IN (?)", projectID))
}

// ProjectIsNotNull is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIsNotNull() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project IS NOT NULL"))
}

// ProjectIsNull is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIsNull() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project IS NULL"))
}

// RegionEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionEq(region string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region = ?", region))
}

// RegionGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionGt(region string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region > ?", region))
}

// RegionGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionGte(region string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region >= ?", region))
}

// RegionIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionIn(region ...string) AwsVpcPeeringQuerySet {
	if len(region) == 0 {
		qs.db.AddError(errors.New("must at least pass one region in RegionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region IN (?)", region))
}

// RegionLike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionLike(region string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region LIKE ?", region))
}

// RegionLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionLt(region string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region < ?", region))
}

// RegionLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionLte(region string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region <= ?", region))
}

// RegionNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionNe(region string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region != ?", region))
}

// RegionNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionNotIn(region ...string) AwsVpcPeeringQuerySet {
	if len(region) == 0 {
		qs.db.AddError(errors.New("must at least pass one region in RegionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region NOT IN (?)", region))
}

// RegionNotlike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionNotlike(region string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region NOT LIKE ?", region))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusEq(status string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusGt(status string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusGte(status string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusIn(status ...string) AwsVpcPeeringQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusLike(status string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusLt(status string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusLte(status string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusNe(status string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusNotIn(status ...string) AwsVpcPeeringQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusNotlike(status string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// TenantAccountIDEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDEq(tenantAccountID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_account_id = ?", tenantAccountID))
}

// TenantAccountIDGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDGt(tenantAccountID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_account_id > ?", tenantAccountID))
}

// TenantAccountIDGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDGte(tenantAccountID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_account_id >= ?", tenantAccountID))
}

// TenantAccountIDIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDIn(tenantAccountID ...string) AwsVpcPeeringQuerySet {
	if len(tenantAccountID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantAccountID in TenantAccountIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_account_id IN (?)", tenantAccountID))
}

// TenantAccountIDLike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDLike(tenantAccountID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_account_id LIKE ?", tenantAccountID))
}

// TenantAccountIDLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDLt(tenantAccountID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_account_id < ?", tenantAccountID))
}

// TenantAccountIDLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDLte(tenantAccountID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_account_id <= ?", tenantAccountID))
}

// TenantAccountIDNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDNe(tenantAccountID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_account_id != ?", tenantAccountID))
}

// TenantAccountIDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDNotIn(tenantAccountID ...string) AwsVpcPeeringQuerySet {
	if len(tenantAccountID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantAccountID in TenantAccountIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_account_id NOT IN (?)", tenantAccountID))
}

// TenantAccountIDNotlike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDNotlike(tenantAccountID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_account_id NOT LIKE ?", tenantAccountID))
}

// TenantRegionEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionEq(tenantRegion string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_region = ?", tenantRegion))
}

// TenantRegionGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionGt(tenantRegion string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_region > ?", tenantRegion))
}

// TenantRegionGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionGte(tenantRegion string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_region >= ?", tenantRegion))
}

// TenantRegionIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionIn(tenantRegion ...string) AwsVpcPeeringQuerySet {
	if len(tenantRegion) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantRegion in TenantRegionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_region IN (?)", tenantRegion))
}

// TenantRegionLike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionLike(tenantRegion string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_region LIKE ?", tenantRegion))
}

// TenantRegionLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionLt(tenantRegion string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_region < ?", tenantRegion))
}

// TenantRegionLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionLte(tenantRegion string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_region <= ?", tenantRegion))
}

// TenantRegionNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionNe(tenantRegion string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_region != ?", tenantRegion))
}

// TenantRegionNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionNotIn(tenantRegion ...string) AwsVpcPeeringQuerySet {
	if len(tenantRegion) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantRegion in TenantRegionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_region NOT IN (?)", tenantRegion))
}

// TenantRegionNotlike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionNotlike(tenantRegion string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_region NOT LIKE ?", tenantRegion))
}

// TenantVpcCIDREq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDREq(tenantVpcCIDR string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r = ?", tenantVpcCIDR))
}

// TenantVpcCIDRGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRGt(tenantVpcCIDR string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r > ?", tenantVpcCIDR))
}

// TenantVpcCIDRGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRGte(tenantVpcCIDR string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r >= ?", tenantVpcCIDR))
}

// TenantVpcCIDRIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRIn(tenantVpcCIDR ...string) AwsVpcPeeringQuerySet {
	if len(tenantVpcCIDR) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantVpcCIDR in TenantVpcCIDRIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_vpc_c_id_r IN (?)", tenantVpcCIDR))
}

// TenantVpcCIDRLike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRLike(tenantVpcCIDR string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r LIKE ?", tenantVpcCIDR))
}

// TenantVpcCIDRLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRLt(tenantVpcCIDR string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r < ?", tenantVpcCIDR))
}

// TenantVpcCIDRLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRLte(tenantVpcCIDR string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r <= ?", tenantVpcCIDR))
}

// TenantVpcCIDRNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRNe(tenantVpcCIDR string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r != ?", tenantVpcCIDR))
}

// TenantVpcCIDRNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRNotIn(tenantVpcCIDR ...string) AwsVpcPeeringQuerySet {
	if len(tenantVpcCIDR) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantVpcCIDR in TenantVpcCIDRNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_vpc_c_id_r NOT IN (?)", tenantVpcCIDR))
}

// TenantVpcCIDRNotlike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRNotlike(tenantVpcCIDR string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r NOT LIKE ?", tenantVpcCIDR))
}

// TenantVpcIDEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDEq(tenantVpcID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_id = ?", tenantVpcID))
}

// TenantVpcIDGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDGt(tenantVpcID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_id > ?", tenantVpcID))
}

// TenantVpcIDGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDGte(tenantVpcID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_id >= ?", tenantVpcID))
}

// TenantVpcIDIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDIn(tenantVpcID ...string) AwsVpcPeeringQuerySet {
	if len(tenantVpcID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantVpcID in TenantVpcIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_vpc_id IN (?)", tenantVpcID))
}

// TenantVpcIDLike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDLike(tenantVpcID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_id LIKE ?", tenantVpcID))
}

// TenantVpcIDLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDLt(tenantVpcID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_id < ?", tenantVpcID))
}

// TenantVpcIDLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDLte(tenantVpcID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_id <= ?", tenantVpcID))
}

// TenantVpcIDNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDNe(tenantVpcID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_id != ?", tenantVpcID))
}

// TenantVpcIDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDNotIn(tenantVpcID ...string) AwsVpcPeeringQuerySet {
	if len(tenantVpcID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantVpcID in TenantVpcIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_vpc_id NOT IN (?)", tenantVpcID))
}

// TenantVpcIDNotlike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDNotlike(tenantVpcID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_id NOT LIKE ?", tenantVpcID))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) UpdatedAtEq(updatedAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) UpdatedAtGt(updatedAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) UpdatedAtGte(updatedAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) UpdatedAtIsNotNull() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) UpdatedAtIsNull() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) UpdatedAtLt(updatedAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) UpdatedAtLte(updatedAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) UpdatedAtNe(updatedAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VpcPeeringIDEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDEq(vpcPeeringID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("vpc_peering_id = ?", vpcPeeringID))
}

// VpcPeeringIDGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDGt(vpcPeeringID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("vpc_peering_id > ?", vpcPeeringID))
}

// VpcPeeringIDGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDGte(vpcPeeringID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("vpc_peering_id >= ?", vpcPeeringID))
}

// VpcPeeringIDIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDIn(vpcPeeringID ...string) AwsVpcPeeringQuerySet {
	if len(vpcPeeringID) == 0 {
		qs.db.AddError(errors.New("must at least pass one vpcPeeringID in VpcPeeringIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("vpc_peering_id IN (?)", vpcPeeringID))
}

// VpcPeeringIDLike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDLike(vpcPeeringID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("vpc_peering_id LIKE ?", vpcPeeringID))
}

// VpcPeeringIDLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDLt(vpcPeeringID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("vpc_peering_id < ?", vpcPeeringID))
}

// VpcPeeringIDLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDLte(vpcPeeringID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("vpc_peering_id <= ?", vpcPeeringID))
}

// VpcPeeringIDNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDNe(vpcPeeringID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("vpc_peering_id != ?", vpcPeeringID))
}

// VpcPeeringIDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDNotIn(vpcPeeringID ...string) AwsVpcPeeringQuerySet {
	if len(vpcPeeringID) == 0 {
		qs.db.AddError(errors.New("must at least pass one vpcPeeringID in VpcPeeringIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("vpc_peering_id NOT IN (?)", vpcPeeringID))
}

// VpcPeeringIDNotlike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDNotlike(vpcPeeringID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("vpc_peering_id NOT LIKE ?", vpcPeeringID))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetCreatedAt(createdAt time.Time) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetID(ID ID) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.ID)] = ID
	return u
}

// SetPrivateHostZone is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetPrivateHostZone(privateHostZone string) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.PrivateHostZone)] = privateHostZone
	return u
}

// SetProjectID is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetProjectID(projectID ID) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.ProjectID)] = projectID
	return u
}

// SetRegion is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetRegion(region string) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.Region)] = region
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetStatus(status string) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.Status)] = status
	return u
}

// SetTenantAccountID is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetTenantAccountID(tenantAccountID string) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.TenantAccountID)] = tenantAccountID
	return u
}

// SetTenantRegion is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetTenantRegion(tenantRegion string) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.TenantRegion)] = tenantRegion
	return u
}

// SetTenantVpcCIDR is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetTenantVpcCIDR(tenantVpcCIDR string) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.TenantVpcCIDR)] = tenantVpcCIDR
	return u
}

// SetTenantVpcID is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetTenantVpcID(tenantVpcID string) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.TenantVpcID)] = tenantVpcID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetUpdatedAt(updatedAt *time.Time) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVpcPeeringID is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetVpcPeeringID(vpcPeeringID string) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.VpcPeeringID)] = vpcPeeringID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set AwsVpcPeeringQuerySet

// ===== BEGIN of AwsVpcPeering modifiers

// AwsVpcPeeringDBSchemaField describes database schema field. It requires for method 'Update'
type AwsVpcPeeringDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f AwsVpcPeeringDBSchemaField) String() string {
	return string(f)
}

// AwsVpcPeeringDBSchema stores db field names of AwsVpcPeering
var AwsVpcPeeringDBSchema = struct {
	ID              AwsVpcPeeringDBSchemaField
	CreatedAt       AwsVpcPeeringDBSchemaField
	UpdatedAt       AwsVpcPeeringDBSchemaField
	Region          AwsVpcPeeringDBSchemaField
	TenantAccountID AwsVpcPeeringDBSchemaField
	TenantRegion    AwsVpcPeeringDBSchemaField
	TenantVpcID     AwsVpcPeeringDBSchemaField
	TenantVpcCIDR   AwsVpcPeeringDBSchemaField
	VpcPeeringID    AwsVpcPeeringDBSchemaField
	PrivateHostZone AwsVpcPeeringDBSchemaField
	Status          AwsVpcPeeringDBSchemaField
	ProjectID       AwsVpcPeeringDBSchemaField
	Project         AwsVpcPeeringDBSchemaField
}{

	ID:              AwsVpcPeeringDBSchemaField("id"),
	CreatedAt:       AwsVpcPeeringDBSchemaField("created_at"),
	UpdatedAt:       AwsVpcPeeringDBSchemaField("updated_at"),
	Region:          AwsVpcPeeringDBSchemaField("region"),
	TenantAccountID: AwsVpcPeeringDBSchemaField("tenant_account_id"),
	TenantRegion:    AwsVpcPeeringDBSchemaField("tenant_region"),
	TenantVpcID:     AwsVpcPeeringDBSchemaField("tenant_vpc_id"),
	TenantVpcCIDR:   AwsVpcPeeringDBSchemaField("tenant_vpc_c_id_r"),
	VpcPeeringID:    AwsVpcPeeringDBSchemaField("vpc_peering_id"),
	PrivateHostZone: AwsVpcPeeringDBSchemaField("private_host_zone"),
	Status:          AwsVpcPeeringDBSchemaField("status"),
	ProjectID:       AwsVpcPeeringDBSchemaField("project_id"),
	Project:         AwsVpcPeeringDBSchemaField("project"),
}

// Update updates AwsVpcPeering fields by primary key
// nolint: dupl
func (o *AwsVpcPeering) Update(db *gorm.DB, fields ...AwsVpcPeeringDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                o.ID,
		"created_at":        o.CreatedAt,
		"updated_at":        o.UpdatedAt,
		"region":            o.Region,
		"tenant_account_id": o.TenantAccountID,
		"tenant_region":     o.TenantRegion,
		"tenant_vpc_id":     o.TenantVpcID,
		"tenant_vpc_c_id_r": o.TenantVpcCIDR,
		"vpc_peering_id":    o.VpcPeeringID,
		"private_host_zone": o.PrivateHostZone,
		"status":            o.Status,
		"project_id":        o.ProjectID,
		"project":           o.Project,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update AwsVpcPeering %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// AwsVpcPeeringUpdater is an AwsVpcPeering updates manager
type AwsVpcPeeringUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewAwsVpcPeeringUpdater creates new AwsVpcPeering updater
// nolint: dupl
func NewAwsVpcPeeringUpdater(db *gorm.DB) AwsVpcPeeringUpdater {
	return AwsVpcPeeringUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&AwsVpcPeering{}),
	}
}

// ===== END of AwsVpcPeering modifiers

// ===== BEGIN of query set BackupQuerySet

// BackupQuerySet is an queryset type for Backup
type BackupQuerySet struct {
	db *gorm.DB
}

// NewBackupQuerySet constructs new BackupQuerySet
func NewBackupQuerySet(db *gorm.DB) BackupQuerySet {
	return BackupQuerySet{
		db: db.Model(&Backup{}),
	}
}

func (qs BackupQuerySet) w(db *gorm.DB) BackupQuerySet {
	return NewBackupQuerySet(db)
}

func (qs BackupQuerySet) Select(fields ...BackupDBSchemaField) BackupQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Backup) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Backup) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) All(ret *[]Backup) error {
	return qs.db.Find(ret).Error
}

// BackupScheduleIDEq is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) BackupScheduleIDEq(backupScheduleID ID) BackupQuerySet {
	return qs.w(qs.db.Where("backup_schedule_id = ?", backupScheduleID))
}

// BackupScheduleIDGt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) BackupScheduleIDGt(backupScheduleID ID) BackupQuerySet {
	return qs.w(qs.db.Where("backup_schedule_id > ?", backupScheduleID))
}

// BackupScheduleIDGte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) BackupScheduleIDGte(backupScheduleID ID) BackupQuerySet {
	return qs.w(qs.db.Where("backup_schedule_id >= ?", backupScheduleID))
}

// BackupScheduleIDIn is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) BackupScheduleIDIn(backupScheduleID ...ID) BackupQuerySet {
	if len(backupScheduleID) == 0 {
		qs.db.AddError(errors.New("must at least pass one backupScheduleID in BackupScheduleIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("backup_schedule_id IN (?)", backupScheduleID))
}

// BackupScheduleIDLt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) BackupScheduleIDLt(backupScheduleID ID) BackupQuerySet {
	return qs.w(qs.db.Where("backup_schedule_id < ?", backupScheduleID))
}

// BackupScheduleIDLte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) BackupScheduleIDLte(backupScheduleID ID) BackupQuerySet {
	return qs.w(qs.db.Where("backup_schedule_id <= ?", backupScheduleID))
}

// BackupScheduleIDNe is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) BackupScheduleIDNe(backupScheduleID ID) BackupQuerySet {
	return qs.w(qs.db.Where("backup_schedule_id != ?", backupScheduleID))
}

// BackupScheduleIDNotIn is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) BackupScheduleIDNotIn(backupScheduleID ...ID) BackupQuerySet {
	if len(backupScheduleID) == 0 {
		qs.db.AddError(errors.New("must at least pass one backupScheduleID in BackupScheduleIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("backup_schedule_id NOT IN (?)", backupScheduleID))
}

// BackupScheduleIsNotNull is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) BackupScheduleIsNotNull() BackupQuerySet {
	return qs.w(qs.db.Where("backup_schedule IS NOT NULL"))
}

// BackupScheduleIsNull is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) BackupScheduleIsNull() BackupQuerySet {
	return qs.w(qs.db.Where("backup_schedule IS NULL"))
}

// CleanedUpEq is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) CleanedUpEq(cleanedUp bool) BackupQuerySet {
	return qs.w(qs.db.Where("cleaned_up = ?", cleanedUp))
}

// CleanedUpIn is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) CleanedUpIn(cleanedUp ...bool) BackupQuerySet {
	if len(cleanedUp) == 0 {
		qs.db.AddError(errors.New("must at least pass one cleanedUp in CleanedUpIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cleaned_up IN (?)", cleanedUp))
}

// CleanedUpIsNotNull is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) CleanedUpIsNotNull() BackupQuerySet {
	return qs.w(qs.db.Where("cleaned_up IS NOT NULL"))
}

// CleanedUpIsNull is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) CleanedUpIsNull() BackupQuerySet {
	return qs.w(qs.db.Where("cleaned_up IS NULL"))
}

// CleanedUpNe is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) CleanedUpNe(cleanedUp bool) BackupQuerySet {
	return qs.w(qs.db.Where("cleaned_up != ?", cleanedUp))
}

// CleanedUpNotIn is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) CleanedUpNotIn(cleanedUp ...bool) BackupQuerySet {
	if len(cleanedUp) == 0 {
		qs.db.AddError(errors.New("must at least pass one cleanedUp in CleanedUpNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cleaned_up NOT IN (?)", cleanedUp))
}

// ClusterConfigIsNotNull is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) ClusterConfigIsNotNull() BackupQuerySet {
	return qs.w(qs.db.Where("cluster_config IS NOT NULL"))
}

// ClusterConfigIsNull is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) ClusterConfigIsNull() BackupQuerySet {
	return qs.w(qs.db.Where("cluster_config IS NULL"))
}

// ClusterVersionEq is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) ClusterVersionEq(clusterVersion string) BackupQuerySet {
	return qs.w(qs.db.Where("cluster_version = ?", clusterVersion))
}

// ClusterVersionGt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) ClusterVersionGt(clusterVersion string) BackupQuerySet {
	return qs.w(qs.db.Where("cluster_version > ?", clusterVersion))
}

// ClusterVersionGte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) ClusterVersionGte(clusterVersion string) BackupQuerySet {
	return qs.w(qs.db.Where("cluster_version >= ?", clusterVersion))
}

// ClusterVersionIn is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) ClusterVersionIn(clusterVersion ...string) BackupQuerySet {
	if len(clusterVersion) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterVersion in ClusterVersionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_version IN (?)", clusterVersion))
}

// ClusterVersionLike is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) ClusterVersionLike(clusterVersion string) BackupQuerySet {
	return qs.w(qs.db.Where("cluster_version LIKE ?", clusterVersion))
}

// ClusterVersionLt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) ClusterVersionLt(clusterVersion string) BackupQuerySet {
	return qs.w(qs.db.Where("cluster_version < ?", clusterVersion))
}

// ClusterVersionLte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) ClusterVersionLte(clusterVersion string) BackupQuerySet {
	return qs.w(qs.db.Where("cluster_version <= ?", clusterVersion))
}

// ClusterVersionNe is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) ClusterVersionNe(clusterVersion string) BackupQuerySet {
	return qs.w(qs.db.Where("cluster_version != ?", clusterVersion))
}

// ClusterVersionNotIn is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) ClusterVersionNotIn(clusterVersion ...string) BackupQuerySet {
	if len(clusterVersion) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterVersion in ClusterVersionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_version NOT IN (?)", clusterVersion))
}

// ClusterVersionNotlike is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) ClusterVersionNotlike(clusterVersion string) BackupQuerySet {
	return qs.w(qs.db.Where("cluster_version NOT LIKE ?", clusterVersion))
}

// Count is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) CreatedAtEq(createdAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) CreatedAtGt(createdAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) CreatedAtGte(createdAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) CreatedAtLt(createdAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) CreatedAtLte(createdAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) CreatedAtNe(createdAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) Delete() error {
	return qs.db.Delete(&Backup{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Backup{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Backup{})
	return db.RowsAffected, db.Error
}

// DeletedAtEq is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) DeletedAtEq(deletedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("deleted_at = ?", deletedAt))
}

// DeletedAtGt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) DeletedAtGt(deletedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("deleted_at > ?", deletedAt))
}

// DeletedAtGte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) DeletedAtGte(deletedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("deleted_at >= ?", deletedAt))
}

// DeletedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) DeletedAtIsNotNull() BackupQuerySet {
	return qs.w(qs.db.Where("deleted_at IS NOT NULL"))
}

// DeletedAtIsNull is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) DeletedAtIsNull() BackupQuerySet {
	return qs.w(qs.db.Where("deleted_at IS NULL"))
}

// DeletedAtLt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) DeletedAtLt(deletedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("deleted_at < ?", deletedAt))
}

// DeletedAtLte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) DeletedAtLte(deletedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("deleted_at <= ?", deletedAt))
}

// DeletedAtNe is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) DeletedAtNe(deletedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("deleted_at != ?", deletedAt))
}

// FinishedAtEq is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) FinishedAtEq(finishedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("finished_at = ?", finishedAt))
}

// FinishedAtGt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) FinishedAtGt(finishedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("finished_at > ?", finishedAt))
}

// FinishedAtGte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) FinishedAtGte(finishedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("finished_at >= ?", finishedAt))
}

// FinishedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) FinishedAtIsNotNull() BackupQuerySet {
	return qs.w(qs.db.Where("finished_at IS NOT NULL"))
}

// FinishedAtIsNull is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) FinishedAtIsNull() BackupQuerySet {
	return qs.w(qs.db.Where("finished_at IS NULL"))
}

// FinishedAtLt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) FinishedAtLt(finishedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("finished_at < ?", finishedAt))
}

// FinishedAtLte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) FinishedAtLte(finishedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("finished_at <= ?", finishedAt))
}

// FinishedAtNe is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) FinishedAtNe(finishedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("finished_at != ?", finishedAt))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) GetUpdater() BackupUpdater {
	return NewBackupUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) IDEq(ID ID) BackupQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) IDGt(ID ID) BackupQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) IDGte(ID ID) BackupQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) IDIn(ID ...ID) BackupQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) IDLt(ID ID) BackupQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) IDLte(ID ID) BackupQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) IDNe(ID ID) BackupQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) IDNotIn(ID ...ID) BackupQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) Limit(limit int) BackupQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) Offset(offset int) BackupQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// OldBackupNameEq is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OldBackupNameEq(oldBackupName string) BackupQuerySet {
	return qs.w(qs.db.Where("old_backup_name = ?", oldBackupName))
}

// OldBackupNameGt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OldBackupNameGt(oldBackupName string) BackupQuerySet {
	return qs.w(qs.db.Where("old_backup_name > ?", oldBackupName))
}

// OldBackupNameGte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OldBackupNameGte(oldBackupName string) BackupQuerySet {
	return qs.w(qs.db.Where("old_backup_name >= ?", oldBackupName))
}

// OldBackupNameIn is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OldBackupNameIn(oldBackupName ...string) BackupQuerySet {
	if len(oldBackupName) == 0 {
		qs.db.AddError(errors.New("must at least pass one oldBackupName in OldBackupNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("old_backup_name IN (?)", oldBackupName))
}

// OldBackupNameLike is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OldBackupNameLike(oldBackupName string) BackupQuerySet {
	return qs.w(qs.db.Where("old_backup_name LIKE ?", oldBackupName))
}

// OldBackupNameLt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OldBackupNameLt(oldBackupName string) BackupQuerySet {
	return qs.w(qs.db.Where("old_backup_name < ?", oldBackupName))
}

// OldBackupNameLte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OldBackupNameLte(oldBackupName string) BackupQuerySet {
	return qs.w(qs.db.Where("old_backup_name <= ?", oldBackupName))
}

// OldBackupNameNe is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OldBackupNameNe(oldBackupName string) BackupQuerySet {
	return qs.w(qs.db.Where("old_backup_name != ?", oldBackupName))
}

// OldBackupNameNotIn is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OldBackupNameNotIn(oldBackupName ...string) BackupQuerySet {
	if len(oldBackupName) == 0 {
		qs.db.AddError(errors.New("must at least pass one oldBackupName in OldBackupNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("old_backup_name NOT IN (?)", oldBackupName))
}

// OldBackupNameNotlike is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OldBackupNameNotlike(oldBackupName string) BackupQuerySet {
	return qs.w(qs.db.Where("old_backup_name NOT LIKE ?", oldBackupName))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs BackupQuerySet) One(ret *Backup) error {
	return qs.db.First(ret).Error
}

// OrderAscByBackupScheduleID is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderAscByBackupScheduleID() BackupQuerySet {
	return qs.w(qs.db.Order("backup_schedule_id ASC"))
}

// OrderAscByCleanedUp is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderAscByCleanedUp() BackupQuerySet {
	return qs.w(qs.db.Order("cleaned_up ASC"))
}

// OrderAscByClusterVersion is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderAscByClusterVersion() BackupQuerySet {
	return qs.w(qs.db.Order("cluster_version ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderAscByCreatedAt() BackupQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDeletedAt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderAscByDeletedAt() BackupQuerySet {
	return qs.w(qs.db.Order("deleted_at ASC"))
}

// OrderAscByFinishedAt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderAscByFinishedAt() BackupQuerySet {
	return qs.w(qs.db.Order("finished_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderAscByID() BackupQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByOldBackupName is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderAscByOldBackupName() BackupQuerySet {
	return qs.w(qs.db.Order("old_backup_name ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderAscByStatus() BackupQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByTargets is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderAscByTargets() BackupQuerySet {
	return qs.w(qs.db.Order("targets ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderAscByUpdatedAt() BackupQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByBackupScheduleID is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderDescByBackupScheduleID() BackupQuerySet {
	return qs.w(qs.db.Order("backup_schedule_id DESC"))
}

// OrderDescByCleanedUp is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderDescByCleanedUp() BackupQuerySet {
	return qs.w(qs.db.Order("cleaned_up DESC"))
}

// OrderDescByClusterVersion is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderDescByClusterVersion() BackupQuerySet {
	return qs.w(qs.db.Order("cluster_version DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderDescByCreatedAt() BackupQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDeletedAt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderDescByDeletedAt() BackupQuerySet {
	return qs.w(qs.db.Order("deleted_at DESC"))
}

// OrderDescByFinishedAt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderDescByFinishedAt() BackupQuerySet {
	return qs.w(qs.db.Order("finished_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderDescByID() BackupQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByOldBackupName is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderDescByOldBackupName() BackupQuerySet {
	return qs.w(qs.db.Order("old_backup_name DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderDescByStatus() BackupQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByTargets is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderDescByTargets() BackupQuerySet {
	return qs.w(qs.db.Order("targets DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) OrderDescByUpdatedAt() BackupQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadBackupSchedule is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) PreloadBackupSchedule() BackupQuerySet {
	return qs.w(qs.db.Preload("BackupSchedule"))
}

// PreloadClusterConfig is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) PreloadClusterConfig() BackupQuerySet {
	return qs.w(qs.db.Preload("ClusterConfig"))
}

// PreloadPdComponentMachines is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) PreloadPdComponentMachines() BackupQuerySet {
	return qs.w(qs.db.Preload("PdComponentMachines"))
}

// PreloadTidbComponentMachines is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) PreloadTidbComponentMachines() BackupQuerySet {
	return qs.w(qs.db.Preload("TidbComponentMachines"))
}

// PreloadTiflashComponentMachines is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) PreloadTiflashComponentMachines() BackupQuerySet {
	return qs.w(qs.db.Preload("TiflashComponentMachines"))
}

// PreloadTikvComponentMachines is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) PreloadTikvComponentMachines() BackupQuerySet {
	return qs.w(qs.db.Preload("TikvComponentMachines"))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) StatusEq(status BackupStatus) BackupQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) StatusGt(status BackupStatus) BackupQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) StatusGte(status BackupStatus) BackupQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) StatusIn(status ...BackupStatus) BackupQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) StatusLike(status BackupStatus) BackupQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) StatusLt(status BackupStatus) BackupQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) StatusLte(status BackupStatus) BackupQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) StatusNe(status BackupStatus) BackupQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) StatusNotIn(status ...BackupStatus) BackupQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) StatusNotlike(status BackupStatus) BackupQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// TargetsEq is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) TargetsEq(targets string) BackupQuerySet {
	return qs.w(qs.db.Where("targets = ?", targets))
}

// TargetsGt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) TargetsGt(targets string) BackupQuerySet {
	return qs.w(qs.db.Where("targets > ?", targets))
}

// TargetsGte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) TargetsGte(targets string) BackupQuerySet {
	return qs.w(qs.db.Where("targets >= ?", targets))
}

// TargetsIn is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) TargetsIn(targets ...string) BackupQuerySet {
	if len(targets) == 0 {
		qs.db.AddError(errors.New("must at least pass one targets in TargetsIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("targets IN (?)", targets))
}

// TargetsLike is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) TargetsLike(targets string) BackupQuerySet {
	return qs.w(qs.db.Where("targets LIKE ?", targets))
}

// TargetsLt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) TargetsLt(targets string) BackupQuerySet {
	return qs.w(qs.db.Where("targets < ?", targets))
}

// TargetsLte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) TargetsLte(targets string) BackupQuerySet {
	return qs.w(qs.db.Where("targets <= ?", targets))
}

// TargetsNe is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) TargetsNe(targets string) BackupQuerySet {
	return qs.w(qs.db.Where("targets != ?", targets))
}

// TargetsNotIn is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) TargetsNotIn(targets ...string) BackupQuerySet {
	if len(targets) == 0 {
		qs.db.AddError(errors.New("must at least pass one targets in TargetsNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("targets NOT IN (?)", targets))
}

// TargetsNotlike is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) TargetsNotlike(targets string) BackupQuerySet {
	return qs.w(qs.db.Where("targets NOT LIKE ?", targets))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) UpdatedAtEq(updatedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) UpdatedAtGt(updatedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) UpdatedAtGte(updatedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) UpdatedAtIsNotNull() BackupQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) UpdatedAtIsNull() BackupQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) UpdatedAtLt(updatedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) UpdatedAtLte(updatedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs BackupQuerySet) UpdatedAtNe(updatedAt time.Time) BackupQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetBackupScheduleID is an autogenerated method
// nolint: dupl
func (u BackupUpdater) SetBackupScheduleID(backupScheduleID ID) BackupUpdater {
	u.fields[string(BackupDBSchema.BackupScheduleID)] = backupScheduleID
	return u
}

// SetCleanedUp is an autogenerated method
// nolint: dupl
func (u BackupUpdater) SetCleanedUp(cleanedUp *bool) BackupUpdater {
	u.fields[string(BackupDBSchema.CleanedUp)] = cleanedUp
	return u
}

// SetClusterVersion is an autogenerated method
// nolint: dupl
func (u BackupUpdater) SetClusterVersion(clusterVersion string) BackupUpdater {
	u.fields[string(BackupDBSchema.ClusterVersion)] = clusterVersion
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u BackupUpdater) SetCreatedAt(createdAt time.Time) BackupUpdater {
	u.fields[string(BackupDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDeletedAt is an autogenerated method
// nolint: dupl
func (u BackupUpdater) SetDeletedAt(deletedAt *time.Time) BackupUpdater {
	u.fields[string(BackupDBSchema.DeletedAt)] = deletedAt
	return u
}

// SetFinishedAt is an autogenerated method
// nolint: dupl
func (u BackupUpdater) SetFinishedAt(finishedAt *time.Time) BackupUpdater {
	u.fields[string(BackupDBSchema.FinishedAt)] = finishedAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u BackupUpdater) SetID(ID ID) BackupUpdater {
	u.fields[string(BackupDBSchema.ID)] = ID
	return u
}

// SetOldBackupName is an autogenerated method
// nolint: dupl
func (u BackupUpdater) SetOldBackupName(oldBackupName string) BackupUpdater {
	u.fields[string(BackupDBSchema.OldBackupName)] = oldBackupName
	return u
}

// SetPdComponentMachines is an autogenerated method
// nolint: dupl
func (u BackupUpdater) SetPdComponentMachines(pdComponentMachines IDList) BackupUpdater {
	u.fields[string(BackupDBSchema.PdComponentMachines)] = pdComponentMachines
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u BackupUpdater) SetStatus(status BackupStatus) BackupUpdater {
	u.fields[string(BackupDBSchema.Status)] = status
	return u
}

// SetTargets is an autogenerated method
// nolint: dupl
func (u BackupUpdater) SetTargets(targets string) BackupUpdater {
	u.fields[string(BackupDBSchema.Targets)] = targets
	return u
}

// SetTidbComponentMachines is an autogenerated method
// nolint: dupl
func (u BackupUpdater) SetTidbComponentMachines(tidbComponentMachines IDList) BackupUpdater {
	u.fields[string(BackupDBSchema.TidbComponentMachines)] = tidbComponentMachines
	return u
}

// SetTiflashComponentMachines is an autogenerated method
// nolint: dupl
func (u BackupUpdater) SetTiflashComponentMachines(tiflashComponentMachines IDList) BackupUpdater {
	u.fields[string(BackupDBSchema.TiflashComponentMachines)] = tiflashComponentMachines
	return u
}

// SetTikvComponentMachines is an autogenerated method
// nolint: dupl
func (u BackupUpdater) SetTikvComponentMachines(tikvComponentMachines IDList) BackupUpdater {
	u.fields[string(BackupDBSchema.TikvComponentMachines)] = tikvComponentMachines
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u BackupUpdater) SetUpdatedAt(updatedAt *time.Time) BackupUpdater {
	u.fields[string(BackupDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u BackupUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u BackupUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set BackupQuerySet

// ===== BEGIN of Backup modifiers

// BackupDBSchemaField describes database schema field. It requires for method 'Update'
type BackupDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f BackupDBSchemaField) String() string {
	return string(f)
}

// BackupDBSchema stores db field names of Backup
var BackupDBSchema = struct {
	ID                       BackupDBSchemaField
	CreatedAt                BackupDBSchemaField
	UpdatedAt                BackupDBSchemaField
	DeletedAt                BackupDBSchemaField
	FinishedAt               BackupDBSchemaField
	BackupScheduleID         BackupDBSchemaField
	BackupSchedule           BackupDBSchemaField
	Targets                  BackupDBSchemaField
	ClusterVersion           BackupDBSchemaField
	Status                   BackupDBSchemaField
	ClusterConfig            BackupDBSchemaField
	CleanedUp                BackupDBSchemaField
	PdComponentMachines      BackupDBSchemaField
	TidbComponentMachines    BackupDBSchemaField
	TikvComponentMachines    BackupDBSchemaField
	TiflashComponentMachines BackupDBSchemaField
	OldBackupName            BackupDBSchemaField
}{

	ID:                       BackupDBSchemaField("id"),
	CreatedAt:                BackupDBSchemaField("created_at"),
	UpdatedAt:                BackupDBSchemaField("updated_at"),
	DeletedAt:                BackupDBSchemaField("deleted_at"),
	FinishedAt:               BackupDBSchemaField("finished_at"),
	BackupScheduleID:         BackupDBSchemaField("backup_schedule_id"),
	BackupSchedule:           BackupDBSchemaField("backup_schedule"),
	Targets:                  BackupDBSchemaField("targets"),
	ClusterVersion:           BackupDBSchemaField("cluster_version"),
	Status:                   BackupDBSchemaField("status"),
	ClusterConfig:            BackupDBSchemaField("cluster_config"),
	CleanedUp:                BackupDBSchemaField("cleaned_up"),
	PdComponentMachines:      BackupDBSchemaField("pd_component_machines"),
	TidbComponentMachines:    BackupDBSchemaField("tidb_component_machines"),
	TikvComponentMachines:    BackupDBSchemaField("tikv_component_machines"),
	TiflashComponentMachines: BackupDBSchemaField("tiflash_component_machines"),
	OldBackupName:            BackupDBSchemaField("old_backup_name"),
}

// Update updates Backup fields by primary key
// nolint: dupl
func (o *Backup) Update(db *gorm.DB, fields ...BackupDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                         o.ID,
		"created_at":                 o.CreatedAt,
		"updated_at":                 o.UpdatedAt,
		"deleted_at":                 o.DeletedAt,
		"finished_at":                o.FinishedAt,
		"backup_schedule_id":         o.BackupScheduleID,
		"backup_schedule":            o.BackupSchedule,
		"targets":                    o.Targets,
		"cluster_version":            o.ClusterVersion,
		"status":                     o.Status,
		"cluster_config":             o.ClusterConfig,
		"cleaned_up":                 o.CleanedUp,
		"pd_component_machines":      o.PdComponentMachines,
		"tidb_component_machines":    o.TidbComponentMachines,
		"tikv_component_machines":    o.TikvComponentMachines,
		"tiflash_component_machines": o.TiflashComponentMachines,
		"old_backup_name":            o.OldBackupName,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Backup %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// BackupUpdater is an Backup updates manager
type BackupUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewBackupUpdater creates new Backup updater
// nolint: dupl
func NewBackupUpdater(db *gorm.DB) BackupUpdater {
	return BackupUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Backup{}),
	}
}

// ===== END of Backup modifiers

// ===== BEGIN of query set BackupScheduleQuerySet

// BackupScheduleQuerySet is an queryset type for BackupSchedule
type BackupScheduleQuerySet struct {
	db *gorm.DB
}

// NewBackupScheduleQuerySet constructs new BackupScheduleQuerySet
func NewBackupScheduleQuerySet(db *gorm.DB) BackupScheduleQuerySet {
	return BackupScheduleQuerySet{
		db: db.Model(&BackupSchedule{}),
	}
}

func (qs BackupScheduleQuerySet) w(db *gorm.DB) BackupScheduleQuerySet {
	return NewBackupScheduleQuerySet(db)
}

func (qs BackupScheduleQuerySet) Select(fields ...BackupScheduleDBSchemaField) BackupScheduleQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *BackupSchedule) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *BackupSchedule) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) All(ret *[]BackupSchedule) error {
	return qs.db.Find(ret).Error
}

// ClusterIDEq is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ClusterIDEq(clusterID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("cluster_id = ?", clusterID))
}

// ClusterIDGt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ClusterIDGt(clusterID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("cluster_id > ?", clusterID))
}

// ClusterIDGte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ClusterIDGte(clusterID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("cluster_id >= ?", clusterID))
}

// ClusterIDIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ClusterIDIn(clusterID ...ID) BackupScheduleQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id IN (?)", clusterID))
}

// ClusterIDLt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ClusterIDLt(clusterID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("cluster_id < ?", clusterID))
}

// ClusterIDLte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ClusterIDLte(clusterID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("cluster_id <= ?", clusterID))
}

// ClusterIDNe is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ClusterIDNe(clusterID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("cluster_id != ?", clusterID))
}

// ClusterIDNotIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ClusterIDNotIn(clusterID ...ID) BackupScheduleQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id NOT IN (?)", clusterID))
}

// ClusterIsNotNull is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ClusterIsNotNull() BackupScheduleQuerySet {
	return qs.w(qs.db.Where("cluster IS NOT NULL"))
}

// ClusterIsNull is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ClusterIsNull() BackupScheduleQuerySet {
	return qs.w(qs.db.Where("cluster IS NULL"))
}

// Count is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) CreatedAtEq(createdAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) CreatedAtGt(createdAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) CreatedAtGte(createdAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) CreatedAtLt(createdAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) CreatedAtLte(createdAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) CreatedAtNe(createdAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) Delete() error {
	return qs.db.Delete(&BackupSchedule{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&BackupSchedule{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&BackupSchedule{})
	return db.RowsAffected, db.Error
}

// DeletedAtEq is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DeletedAtEq(deletedAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("deleted_at = ?", deletedAt))
}

// DeletedAtGt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DeletedAtGt(deletedAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("deleted_at > ?", deletedAt))
}

// DeletedAtGte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DeletedAtGte(deletedAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("deleted_at >= ?", deletedAt))
}

// DeletedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DeletedAtIsNotNull() BackupScheduleQuerySet {
	return qs.w(qs.db.Where("deleted_at IS NOT NULL"))
}

// DeletedAtIsNull is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DeletedAtIsNull() BackupScheduleQuerySet {
	return qs.w(qs.db.Where("deleted_at IS NULL"))
}

// DeletedAtLt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DeletedAtLt(deletedAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("deleted_at < ?", deletedAt))
}

// DeletedAtLte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DeletedAtLte(deletedAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("deleted_at <= ?", deletedAt))
}

// DeletedAtNe is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DeletedAtNe(deletedAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("deleted_at != ?", deletedAt))
}

// DescriptionEq is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DescriptionEq(description string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("description = ?", description))
}

// DescriptionGt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DescriptionGt(description string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("description > ?", description))
}

// DescriptionGte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DescriptionGte(description string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("description >= ?", description))
}

// DescriptionIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DescriptionIn(description ...string) BackupScheduleQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description IN (?)", description))
}

// DescriptionLike is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DescriptionLike(description string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("description LIKE ?", description))
}

// DescriptionLt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DescriptionLt(description string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("description < ?", description))
}

// DescriptionLte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DescriptionLte(description string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("description <= ?", description))
}

// DescriptionNe is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DescriptionNe(description string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("description != ?", description))
}

// DescriptionNotIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DescriptionNotIn(description ...string) BackupScheduleQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description NOT IN (?)", description))
}

// DescriptionNotlike is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) DescriptionNotlike(description string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("description NOT LIKE ?", description))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) GetUpdater() BackupScheduleUpdater {
	return NewBackupScheduleUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) IDEq(ID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) IDGt(ID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) IDGte(ID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) IDIn(ID ...ID) BackupScheduleQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) IDLt(ID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) IDLte(ID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) IDNe(ID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) IDNotIn(ID ...ID) BackupScheduleQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) Limit(limit int) BackupScheduleQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// MaxBackupsEq is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MaxBackupsEq(maxBackups uint64) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("max_backups = ?", maxBackups))
}

// MaxBackupsGt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MaxBackupsGt(maxBackups uint64) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("max_backups > ?", maxBackups))
}

// MaxBackupsGte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MaxBackupsGte(maxBackups uint64) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("max_backups >= ?", maxBackups))
}

// MaxBackupsIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MaxBackupsIn(maxBackups ...uint64) BackupScheduleQuerySet {
	if len(maxBackups) == 0 {
		qs.db.AddError(errors.New("must at least pass one maxBackups in MaxBackupsIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("max_backups IN (?)", maxBackups))
}

// MaxBackupsLt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MaxBackupsLt(maxBackups uint64) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("max_backups < ?", maxBackups))
}

// MaxBackupsLte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MaxBackupsLte(maxBackups uint64) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("max_backups <= ?", maxBackups))
}

// MaxBackupsNe is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MaxBackupsNe(maxBackups uint64) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("max_backups != ?", maxBackups))
}

// MaxBackupsNotIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MaxBackupsNotIn(maxBackups ...uint64) BackupScheduleQuerySet {
	if len(maxBackups) == 0 {
		qs.db.AddError(errors.New("must at least pass one maxBackups in MaxBackupsNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("max_backups NOT IN (?)", maxBackups))
}

// MethodEq is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MethodEq(method BackupMethod) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("method = ?", method))
}

// MethodGt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MethodGt(method BackupMethod) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("method > ?", method))
}

// MethodGte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MethodGte(method BackupMethod) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("method >= ?", method))
}

// MethodIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MethodIn(method ...BackupMethod) BackupScheduleQuerySet {
	if len(method) == 0 {
		qs.db.AddError(errors.New("must at least pass one method in MethodIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("method IN (?)", method))
}

// MethodLike is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MethodLike(method BackupMethod) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("method LIKE ?", method))
}

// MethodLt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MethodLt(method BackupMethod) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("method < ?", method))
}

// MethodLte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MethodLte(method BackupMethod) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("method <= ?", method))
}

// MethodNe is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MethodNe(method BackupMethod) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("method != ?", method))
}

// MethodNotIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MethodNotIn(method ...BackupMethod) BackupScheduleQuerySet {
	if len(method) == 0 {
		qs.db.AddError(errors.New("must at least pass one method in MethodNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("method NOT IN (?)", method))
}

// MethodNotlike is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) MethodNotlike(method BackupMethod) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("method NOT LIKE ?", method))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NameEq(name string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NameGt(name string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NameGte(name string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NameIn(name ...string) BackupScheduleQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NameLike(name string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NameLt(name string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NameLte(name string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NameNe(name string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NameNotIn(name ...string) BackupScheduleQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NameNotlike(name string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// NextBackupTimeEq is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NextBackupTimeEq(nextBackupTime time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("next_backup_time = ?", nextBackupTime))
}

// NextBackupTimeGt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NextBackupTimeGt(nextBackupTime time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("next_backup_time > ?", nextBackupTime))
}

// NextBackupTimeGte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NextBackupTimeGte(nextBackupTime time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("next_backup_time >= ?", nextBackupTime))
}

// NextBackupTimeIsNotNull is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NextBackupTimeIsNotNull() BackupScheduleQuerySet {
	return qs.w(qs.db.Where("next_backup_time IS NOT NULL"))
}

// NextBackupTimeIsNull is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NextBackupTimeIsNull() BackupScheduleQuerySet {
	return qs.w(qs.db.Where("next_backup_time IS NULL"))
}

// NextBackupTimeLt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NextBackupTimeLt(nextBackupTime time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("next_backup_time < ?", nextBackupTime))
}

// NextBackupTimeLte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NextBackupTimeLte(nextBackupTime time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("next_backup_time <= ?", nextBackupTime))
}

// NextBackupTimeNe is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) NextBackupTimeNe(nextBackupTime time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("next_backup_time != ?", nextBackupTime))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) Offset(offset int) BackupScheduleQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs BackupScheduleQuerySet) One(ret *BackupSchedule) error {
	return qs.db.First(ret).Error
}

// OrderAscByClusterID is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderAscByClusterID() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("cluster_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderAscByCreatedAt() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDeletedAt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderAscByDeletedAt() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("deleted_at ASC"))
}

// OrderAscByDescription is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderAscByDescription() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("description ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderAscByID() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByMaxBackups is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderAscByMaxBackups() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("max_backups ASC"))
}

// OrderAscByMethod is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderAscByMethod() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("method ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderAscByName() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByNextBackupTime is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderAscByNextBackupTime() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("next_backup_time ASC"))
}

// OrderAscBySchedule is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderAscBySchedule() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("schedule ASC"))
}

// OrderAscByTargets is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderAscByTargets() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("targets ASC"))
}

// OrderAscByType is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderAscByType() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("type ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderAscByUpdatedAt() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByUserID is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderAscByUserID() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("user_id ASC"))
}

// OrderDescByClusterID is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderDescByClusterID() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("cluster_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderDescByCreatedAt() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDeletedAt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderDescByDeletedAt() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("deleted_at DESC"))
}

// OrderDescByDescription is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderDescByDescription() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("description DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderDescByID() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByMaxBackups is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderDescByMaxBackups() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("max_backups DESC"))
}

// OrderDescByMethod is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderDescByMethod() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("method DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderDescByName() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByNextBackupTime is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderDescByNextBackupTime() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("next_backup_time DESC"))
}

// OrderDescBySchedule is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderDescBySchedule() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("schedule DESC"))
}

// OrderDescByTargets is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderDescByTargets() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("targets DESC"))
}

// OrderDescByType is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderDescByType() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("type DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderDescByUpdatedAt() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByUserID is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) OrderDescByUserID() BackupScheduleQuerySet {
	return qs.w(qs.db.Order("user_id DESC"))
}

// PreloadCluster is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) PreloadCluster() BackupScheduleQuerySet {
	return qs.w(qs.db.Preload("Cluster"))
}

// PreloadUser is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) PreloadUser() BackupScheduleQuerySet {
	return qs.w(qs.db.Preload("User"))
}

// ScheduleEq is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ScheduleEq(schedule string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("schedule = ?", schedule))
}

// ScheduleGt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ScheduleGt(schedule string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("schedule > ?", schedule))
}

// ScheduleGte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ScheduleGte(schedule string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("schedule >= ?", schedule))
}

// ScheduleIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ScheduleIn(schedule ...string) BackupScheduleQuerySet {
	if len(schedule) == 0 {
		qs.db.AddError(errors.New("must at least pass one schedule in ScheduleIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("schedule IN (?)", schedule))
}

// ScheduleLike is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ScheduleLike(schedule string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("schedule LIKE ?", schedule))
}

// ScheduleLt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ScheduleLt(schedule string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("schedule < ?", schedule))
}

// ScheduleLte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ScheduleLte(schedule string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("schedule <= ?", schedule))
}

// ScheduleNe is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ScheduleNe(schedule string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("schedule != ?", schedule))
}

// ScheduleNotIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ScheduleNotIn(schedule ...string) BackupScheduleQuerySet {
	if len(schedule) == 0 {
		qs.db.AddError(errors.New("must at least pass one schedule in ScheduleNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("schedule NOT IN (?)", schedule))
}

// ScheduleNotlike is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) ScheduleNotlike(schedule string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("schedule NOT LIKE ?", schedule))
}

// TargetsEq is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TargetsEq(targets string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("targets = ?", targets))
}

// TargetsGt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TargetsGt(targets string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("targets > ?", targets))
}

// TargetsGte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TargetsGte(targets string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("targets >= ?", targets))
}

// TargetsIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TargetsIn(targets ...string) BackupScheduleQuerySet {
	if len(targets) == 0 {
		qs.db.AddError(errors.New("must at least pass one targets in TargetsIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("targets IN (?)", targets))
}

// TargetsLike is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TargetsLike(targets string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("targets LIKE ?", targets))
}

// TargetsLt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TargetsLt(targets string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("targets < ?", targets))
}

// TargetsLte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TargetsLte(targets string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("targets <= ?", targets))
}

// TargetsNe is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TargetsNe(targets string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("targets != ?", targets))
}

// TargetsNotIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TargetsNotIn(targets ...string) BackupScheduleQuerySet {
	if len(targets) == 0 {
		qs.db.AddError(errors.New("must at least pass one targets in TargetsNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("targets NOT IN (?)", targets))
}

// TargetsNotlike is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TargetsNotlike(targets string) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("targets NOT LIKE ?", targets))
}

// TypeEq is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TypeEq(typeValue BackupType) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("type = ?", typeValue))
}

// TypeGt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TypeGt(typeValue BackupType) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("type > ?", typeValue))
}

// TypeGte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TypeGte(typeValue BackupType) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("type >= ?", typeValue))
}

// TypeIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TypeIn(typeValue ...BackupType) BackupScheduleQuerySet {
	if len(typeValue) == 0 {
		qs.db.AddError(errors.New("must at least pass one typeValue in TypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("type IN (?)", typeValue))
}

// TypeLike is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TypeLike(typeValue BackupType) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("type LIKE ?", typeValue))
}

// TypeLt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TypeLt(typeValue BackupType) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("type < ?", typeValue))
}

// TypeLte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TypeLte(typeValue BackupType) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("type <= ?", typeValue))
}

// TypeNe is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TypeNe(typeValue BackupType) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("type != ?", typeValue))
}

// TypeNotIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TypeNotIn(typeValue ...BackupType) BackupScheduleQuerySet {
	if len(typeValue) == 0 {
		qs.db.AddError(errors.New("must at least pass one typeValue in TypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("type NOT IN (?)", typeValue))
}

// TypeNotlike is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) TypeNotlike(typeValue BackupType) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("type NOT LIKE ?", typeValue))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UpdatedAtEq(updatedAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UpdatedAtGt(updatedAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UpdatedAtGte(updatedAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UpdatedAtIsNotNull() BackupScheduleQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UpdatedAtIsNull() BackupScheduleQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UpdatedAtLt(updatedAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UpdatedAtLte(updatedAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UpdatedAtNe(updatedAt time.Time) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// UserIDEq is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UserIDEq(userID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("user_id = ?", userID))
}

// UserIDGt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UserIDGt(userID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("user_id > ?", userID))
}

// UserIDGte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UserIDGte(userID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("user_id >= ?", userID))
}

// UserIDIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UserIDIn(userID ...ID) BackupScheduleQuerySet {
	if len(userID) == 0 {
		qs.db.AddError(errors.New("must at least pass one userID in UserIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("user_id IN (?)", userID))
}

// UserIDLt is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UserIDLt(userID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("user_id < ?", userID))
}

// UserIDLte is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UserIDLte(userID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("user_id <= ?", userID))
}

// UserIDNe is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UserIDNe(userID ID) BackupScheduleQuerySet {
	return qs.w(qs.db.Where("user_id != ?", userID))
}

// UserIDNotIn is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UserIDNotIn(userID ...ID) BackupScheduleQuerySet {
	if len(userID) == 0 {
		qs.db.AddError(errors.New("must at least pass one userID in UserIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("user_id NOT IN (?)", userID))
}

// UserIsNotNull is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UserIsNotNull() BackupScheduleQuerySet {
	return qs.w(qs.db.Where("user IS NOT NULL"))
}

// UserIsNull is an autogenerated method
// nolint: dupl
func (qs BackupScheduleQuerySet) UserIsNull() BackupScheduleQuerySet {
	return qs.w(qs.db.Where("user IS NULL"))
}

// SetClusterID is an autogenerated method
// nolint: dupl
func (u BackupScheduleUpdater) SetClusterID(clusterID ID) BackupScheduleUpdater {
	u.fields[string(BackupScheduleDBSchema.ClusterID)] = clusterID
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u BackupScheduleUpdater) SetCreatedAt(createdAt time.Time) BackupScheduleUpdater {
	u.fields[string(BackupScheduleDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDeletedAt is an autogenerated method
// nolint: dupl
func (u BackupScheduleUpdater) SetDeletedAt(deletedAt *time.Time) BackupScheduleUpdater {
	u.fields[string(BackupScheduleDBSchema.DeletedAt)] = deletedAt
	return u
}

// SetDescription is an autogenerated method
// nolint: dupl
func (u BackupScheduleUpdater) SetDescription(description string) BackupScheduleUpdater {
	u.fields[string(BackupScheduleDBSchema.Description)] = description
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u BackupScheduleUpdater) SetID(ID ID) BackupScheduleUpdater {
	u.fields[string(BackupScheduleDBSchema.ID)] = ID
	return u
}

// SetMaxBackups is an autogenerated method
// nolint: dupl
func (u BackupScheduleUpdater) SetMaxBackups(maxBackups uint64) BackupScheduleUpdater {
	u.fields[string(BackupScheduleDBSchema.MaxBackups)] = maxBackups
	return u
}

// SetMethod is an autogenerated method
// nolint: dupl
func (u BackupScheduleUpdater) SetMethod(method BackupMethod) BackupScheduleUpdater {
	u.fields[string(BackupScheduleDBSchema.Method)] = method
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u BackupScheduleUpdater) SetName(name string) BackupScheduleUpdater {
	u.fields[string(BackupScheduleDBSchema.Name)] = name
	return u
}

// SetNextBackupTime is an autogenerated method
// nolint: dupl
func (u BackupScheduleUpdater) SetNextBackupTime(nextBackupTime *time.Time) BackupScheduleUpdater {
	u.fields[string(BackupScheduleDBSchema.NextBackupTime)] = nextBackupTime
	return u
}

// SetSchedule is an autogenerated method
// nolint: dupl
func (u BackupScheduleUpdater) SetSchedule(schedule string) BackupScheduleUpdater {
	u.fields[string(BackupScheduleDBSchema.Schedule)] = schedule
	return u
}

// SetTargets is an autogenerated method
// nolint: dupl
func (u BackupScheduleUpdater) SetTargets(targets string) BackupScheduleUpdater {
	u.fields[string(BackupScheduleDBSchema.Targets)] = targets
	return u
}

// SetType is an autogenerated method
// nolint: dupl
func (u BackupScheduleUpdater) SetType(typeValue BackupType) BackupScheduleUpdater {
	u.fields[string(BackupScheduleDBSchema.Type)] = typeValue
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u BackupScheduleUpdater) SetUpdatedAt(updatedAt *time.Time) BackupScheduleUpdater {
	u.fields[string(BackupScheduleDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetUserID is an autogenerated method
// nolint: dupl
func (u BackupScheduleUpdater) SetUserID(userID ID) BackupScheduleUpdater {
	u.fields[string(BackupScheduleDBSchema.UserID)] = userID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u BackupScheduleUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u BackupScheduleUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set BackupScheduleQuerySet

// ===== BEGIN of BackupSchedule modifiers

// BackupScheduleDBSchemaField describes database schema field. It requires for method 'Update'
type BackupScheduleDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f BackupScheduleDBSchemaField) String() string {
	return string(f)
}

// BackupScheduleDBSchema stores db field names of BackupSchedule
var BackupScheduleDBSchema = struct {
	ID             BackupScheduleDBSchemaField
	CreatedAt      BackupScheduleDBSchemaField
	UpdatedAt      BackupScheduleDBSchemaField
	DeletedAt      BackupScheduleDBSchemaField
	Name           BackupScheduleDBSchemaField
	Type           BackupScheduleDBSchemaField
	ClusterID      BackupScheduleDBSchemaField
	Cluster        BackupScheduleDBSchemaField
	MaxBackups     BackupScheduleDBSchemaField
	Schedule       BackupScheduleDBSchemaField
	Targets        BackupScheduleDBSchemaField
	UserID         BackupScheduleDBSchemaField
	User           BackupScheduleDBSchemaField
	Method         BackupScheduleDBSchemaField
	Description    BackupScheduleDBSchemaField
	NextBackupTime BackupScheduleDBSchemaField
}{

	ID:             BackupScheduleDBSchemaField("id"),
	CreatedAt:      BackupScheduleDBSchemaField("created_at"),
	UpdatedAt:      BackupScheduleDBSchemaField("updated_at"),
	DeletedAt:      BackupScheduleDBSchemaField("deleted_at"),
	Name:           BackupScheduleDBSchemaField("name"),
	Type:           BackupScheduleDBSchemaField("type"),
	ClusterID:      BackupScheduleDBSchemaField("cluster_id"),
	Cluster:        BackupScheduleDBSchemaField("cluster"),
	MaxBackups:     BackupScheduleDBSchemaField("max_backups"),
	Schedule:       BackupScheduleDBSchemaField("schedule"),
	Targets:        BackupScheduleDBSchemaField("targets"),
	UserID:         BackupScheduleDBSchemaField("user_id"),
	User:           BackupScheduleDBSchemaField("user"),
	Method:         BackupScheduleDBSchemaField("method"),
	Description:    BackupScheduleDBSchemaField("description"),
	NextBackupTime: BackupScheduleDBSchemaField("next_backup_time"),
}

// Update updates BackupSchedule fields by primary key
// nolint: dupl
func (o *BackupSchedule) Update(db *gorm.DB, fields ...BackupScheduleDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":               o.ID,
		"created_at":       o.CreatedAt,
		"updated_at":       o.UpdatedAt,
		"deleted_at":       o.DeletedAt,
		"name":             o.Name,
		"type":             o.Type,
		"cluster_id":       o.ClusterID,
		"cluster":          o.Cluster,
		"max_backups":      o.MaxBackups,
		"schedule":         o.Schedule,
		"targets":          o.Targets,
		"user_id":          o.UserID,
		"user":             o.User,
		"method":           o.Method,
		"description":      o.Description,
		"next_backup_time": o.NextBackupTime,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update BackupSchedule %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// BackupScheduleUpdater is an BackupSchedule updates manager
type BackupScheduleUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewBackupScheduleUpdater creates new BackupSchedule updater
// nolint: dupl
func NewBackupScheduleUpdater(db *gorm.DB) BackupScheduleUpdater {
	return BackupScheduleUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&BackupSchedule{}),
	}
}

// ===== END of BackupSchedule modifiers

// ===== BEGIN of query set BackupTrackingQuerySet

// BackupTrackingQuerySet is an queryset type for BackupTracking
type BackupTrackingQuerySet struct {
	db *gorm.DB
}

// NewBackupTrackingQuerySet constructs new BackupTrackingQuerySet
func NewBackupTrackingQuerySet(db *gorm.DB) BackupTrackingQuerySet {
	return BackupTrackingQuerySet{
		db: db.Model(&BackupTracking{}),
	}
}

func (qs BackupTrackingQuerySet) w(db *gorm.DB) BackupTrackingQuerySet {
	return NewBackupTrackingQuerySet(db)
}

func (qs BackupTrackingQuerySet) Select(fields ...BackupTrackingDBSchemaField) BackupTrackingQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *BackupTracking) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *BackupTracking) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) All(ret *[]BackupTracking) error {
	return qs.db.Find(ret).Error
}

// BackupIDEq is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) BackupIDEq(backupID ID) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("backup_id = ?", backupID))
}

// BackupIDGt is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) BackupIDGt(backupID ID) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("backup_id > ?", backupID))
}

// BackupIDGte is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) BackupIDGte(backupID ID) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("backup_id >= ?", backupID))
}

// BackupIDIn is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) BackupIDIn(backupID ...ID) BackupTrackingQuerySet {
	if len(backupID) == 0 {
		qs.db.AddError(errors.New("must at least pass one backupID in BackupIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("backup_id IN (?)", backupID))
}

// BackupIDLt is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) BackupIDLt(backupID ID) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("backup_id < ?", backupID))
}

// BackupIDLte is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) BackupIDLte(backupID ID) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("backup_id <= ?", backupID))
}

// BackupIDNe is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) BackupIDNe(backupID ID) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("backup_id != ?", backupID))
}

// BackupIDNotIn is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) BackupIDNotIn(backupID ...ID) BackupTrackingQuerySet {
	if len(backupID) == 0 {
		qs.db.AddError(errors.New("must at least pass one backupID in BackupIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("backup_id NOT IN (?)", backupID))
}

// BackupIsNotNull is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) BackupIsNotNull() BackupTrackingQuerySet {
	return qs.w(qs.db.Where("backup IS NOT NULL"))
}

// BackupIsNull is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) BackupIsNull() BackupTrackingQuerySet {
	return qs.w(qs.db.Where("backup IS NULL"))
}

// Count is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) CreatedAtEq(createdAt time.Time) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) CreatedAtGt(createdAt time.Time) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) CreatedAtGte(createdAt time.Time) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) CreatedAtLt(createdAt time.Time) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) CreatedAtLte(createdAt time.Time) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) CreatedAtNe(createdAt time.Time) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) Delete() error {
	return qs.db.Delete(&BackupTracking{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&BackupTracking{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&BackupTracking{})
	return db.RowsAffected, db.Error
}

// DescriptionEq is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) DescriptionEq(description string) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("description = ?", description))
}

// DescriptionGt is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) DescriptionGt(description string) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("description > ?", description))
}

// DescriptionGte is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) DescriptionGte(description string) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("description >= ?", description))
}

// DescriptionIn is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) DescriptionIn(description ...string) BackupTrackingQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description IN (?)", description))
}

// DescriptionLike is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) DescriptionLike(description string) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("description LIKE ?", description))
}

// DescriptionLt is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) DescriptionLt(description string) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("description < ?", description))
}

// DescriptionLte is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) DescriptionLte(description string) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("description <= ?", description))
}

// DescriptionNe is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) DescriptionNe(description string) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("description != ?", description))
}

// DescriptionNotIn is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) DescriptionNotIn(description ...string) BackupTrackingQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description NOT IN (?)", description))
}

// DescriptionNotlike is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) DescriptionNotlike(description string) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("description NOT LIKE ?", description))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) GetUpdater() BackupTrackingUpdater {
	return NewBackupTrackingUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) IDEq(ID ID) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) IDGt(ID ID) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) IDGte(ID ID) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) IDIn(ID ...ID) BackupTrackingQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) IDLt(ID ID) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) IDLte(ID ID) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) IDNe(ID ID) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) IDNotIn(ID ...ID) BackupTrackingQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) Limit(limit int) BackupTrackingQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) Offset(offset int) BackupTrackingQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs BackupTrackingQuerySet) One(ret *BackupTracking) error {
	return qs.db.First(ret).Error
}

// OrderAscByBackupID is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) OrderAscByBackupID() BackupTrackingQuerySet {
	return qs.w(qs.db.Order("backup_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) OrderAscByCreatedAt() BackupTrackingQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDescription is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) OrderAscByDescription() BackupTrackingQuerySet {
	return qs.w(qs.db.Order("description ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) OrderAscByID() BackupTrackingQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) OrderAscByStatus() BackupTrackingQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderDescByBackupID is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) OrderDescByBackupID() BackupTrackingQuerySet {
	return qs.w(qs.db.Order("backup_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) OrderDescByCreatedAt() BackupTrackingQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDescription is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) OrderDescByDescription() BackupTrackingQuerySet {
	return qs.w(qs.db.Order("description DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) OrderDescByID() BackupTrackingQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) OrderDescByStatus() BackupTrackingQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// PreloadBackup is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) PreloadBackup() BackupTrackingQuerySet {
	return qs.w(qs.db.Preload("Backup"))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) StatusEq(status BackupStatus) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) StatusGt(status BackupStatus) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) StatusGte(status BackupStatus) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) StatusIn(status ...BackupStatus) BackupTrackingQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) StatusLike(status BackupStatus) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) StatusLt(status BackupStatus) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) StatusLte(status BackupStatus) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) StatusNe(status BackupStatus) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) StatusNotIn(status ...BackupStatus) BackupTrackingQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs BackupTrackingQuerySet) StatusNotlike(status BackupStatus) BackupTrackingQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// SetBackupID is an autogenerated method
// nolint: dupl
func (u BackupTrackingUpdater) SetBackupID(backupID ID) BackupTrackingUpdater {
	u.fields[string(BackupTrackingDBSchema.BackupID)] = backupID
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u BackupTrackingUpdater) SetCreatedAt(createdAt time.Time) BackupTrackingUpdater {
	u.fields[string(BackupTrackingDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDescription is an autogenerated method
// nolint: dupl
func (u BackupTrackingUpdater) SetDescription(description string) BackupTrackingUpdater {
	u.fields[string(BackupTrackingDBSchema.Description)] = description
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u BackupTrackingUpdater) SetID(ID ID) BackupTrackingUpdater {
	u.fields[string(BackupTrackingDBSchema.ID)] = ID
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u BackupTrackingUpdater) SetStatus(status BackupStatus) BackupTrackingUpdater {
	u.fields[string(BackupTrackingDBSchema.Status)] = status
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u BackupTrackingUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u BackupTrackingUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set BackupTrackingQuerySet

// ===== BEGIN of BackupTracking modifiers

// BackupTrackingDBSchemaField describes database schema field. It requires for method 'Update'
type BackupTrackingDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f BackupTrackingDBSchemaField) String() string {
	return string(f)
}

// BackupTrackingDBSchema stores db field names of BackupTracking
var BackupTrackingDBSchema = struct {
	ID          BackupTrackingDBSchemaField
	CreatedAt   BackupTrackingDBSchemaField
	BackupID    BackupTrackingDBSchemaField
	Backup      BackupTrackingDBSchemaField
	Status      BackupTrackingDBSchemaField
	Description BackupTrackingDBSchemaField
}{

	ID:          BackupTrackingDBSchemaField("id"),
	CreatedAt:   BackupTrackingDBSchemaField("created_at"),
	BackupID:    BackupTrackingDBSchemaField("backup_id"),
	Backup:      BackupTrackingDBSchemaField("backup"),
	Status:      BackupTrackingDBSchemaField("status"),
	Description: BackupTrackingDBSchemaField("description"),
}

// Update updates BackupTracking fields by primary key
// nolint: dupl
func (o *BackupTracking) Update(db *gorm.DB, fields ...BackupTrackingDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":          o.ID,
		"created_at":  o.CreatedAt,
		"backup_id":   o.BackupID,
		"backup":      o.Backup,
		"status":      o.Status,
		"description": o.Description,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update BackupTracking %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// BackupTrackingUpdater is an BackupTracking updates manager
type BackupTrackingUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewBackupTrackingUpdater creates new BackupTracking updater
// nolint: dupl
func NewBackupTrackingUpdater(db *gorm.DB) BackupTrackingUpdater {
	return BackupTrackingUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&BackupTracking{}),
	}
}

// ===== END of BackupTracking modifiers

// ===== BEGIN of query set CidrTemplateQuerySet

// CidrTemplateQuerySet is an queryset type for CidrTemplate
type CidrTemplateQuerySet struct {
	db *gorm.DB
}

// NewCidrTemplateQuerySet constructs new CidrTemplateQuerySet
func NewCidrTemplateQuerySet(db *gorm.DB) CidrTemplateQuerySet {
	return CidrTemplateQuerySet{
		db: db.Model(&CidrTemplate{}),
	}
}

func (qs CidrTemplateQuerySet) w(db *gorm.DB) CidrTemplateQuerySet {
	return NewCidrTemplateQuerySet(db)
}

func (qs CidrTemplateQuerySet) Select(fields ...CidrTemplateDBSchemaField) CidrTemplateQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *CidrTemplate) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *CidrTemplate) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) All(ret *[]CidrTemplate) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) CreatedAtEq(createdAt time.Time) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) CreatedAtGt(createdAt time.Time) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) CreatedAtGte(createdAt time.Time) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) CreatedAtLt(createdAt time.Time) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) CreatedAtLte(createdAt time.Time) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) CreatedAtNe(createdAt time.Time) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) Delete() error {
	return qs.db.Delete(&CidrTemplate{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&CidrTemplate{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&CidrTemplate{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) GetUpdater() CidrTemplateUpdater {
	return NewCidrTemplateUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) IDEq(ID ID) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) IDGt(ID ID) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) IDGte(ID ID) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) IDIn(ID ...ID) CidrTemplateQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) IDLt(ID ID) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) IDLte(ID ID) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) IDNe(ID ID) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) IDNotIn(ID ...ID) CidrTemplateQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) Limit(limit int) CidrTemplateQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) Offset(offset int) CidrTemplateQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs CidrTemplateQuerySet) One(ret *CidrTemplate) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) OrderAscByCreatedAt() CidrTemplateQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) OrderAscByID() CidrTemplateQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByProjectID is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) OrderAscByProjectID() CidrTemplateQuerySet {
	return qs.w(qs.db.Order("project_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) OrderAscByUpdatedAt() CidrTemplateQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) OrderDescByCreatedAt() CidrTemplateQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) OrderDescByID() CidrTemplateQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByProjectID is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) OrderDescByProjectID() CidrTemplateQuerySet {
	return qs.w(qs.db.Order("project_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) OrderDescByUpdatedAt() CidrTemplateQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadCidr is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) PreloadCidr() CidrTemplateQuerySet {
	return qs.w(qs.db.Preload("Cidr"))
}

// PreloadProject is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) PreloadProject() CidrTemplateQuerySet {
	return qs.w(qs.db.Preload("Project"))
}

// ProjectIDEq is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) ProjectIDEq(projectID ID) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("project_id = ?", projectID))
}

// ProjectIDGt is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) ProjectIDGt(projectID ID) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("project_id > ?", projectID))
}

// ProjectIDGte is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) ProjectIDGte(projectID ID) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("project_id >= ?", projectID))
}

// ProjectIDIn is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) ProjectIDIn(projectID ...ID) CidrTemplateQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id IN (?)", projectID))
}

// ProjectIDLt is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) ProjectIDLt(projectID ID) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("project_id < ?", projectID))
}

// ProjectIDLte is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) ProjectIDLte(projectID ID) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("project_id <= ?", projectID))
}

// ProjectIDNe is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) ProjectIDNe(projectID ID) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("project_id != ?", projectID))
}

// ProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) ProjectIDNotIn(projectID ...ID) CidrTemplateQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id NOT IN (?)", projectID))
}

// ProjectIsNotNull is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) ProjectIsNotNull() CidrTemplateQuerySet {
	return qs.w(qs.db.Where("project IS NOT NULL"))
}

// ProjectIsNull is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) ProjectIsNull() CidrTemplateQuerySet {
	return qs.w(qs.db.Where("project IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) UpdatedAtEq(updatedAt time.Time) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) UpdatedAtGt(updatedAt time.Time) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) UpdatedAtGte(updatedAt time.Time) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) UpdatedAtIsNotNull() CidrTemplateQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) UpdatedAtIsNull() CidrTemplateQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) UpdatedAtLt(updatedAt time.Time) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) UpdatedAtLte(updatedAt time.Time) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs CidrTemplateQuerySet) UpdatedAtNe(updatedAt time.Time) CidrTemplateQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCidr is an autogenerated method
// nolint: dupl
func (u CidrTemplateUpdater) SetCidr(cidr TrafficFilters) CidrTemplateUpdater {
	u.fields[string(CidrTemplateDBSchema.Cidr)] = cidr
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u CidrTemplateUpdater) SetCreatedAt(createdAt time.Time) CidrTemplateUpdater {
	u.fields[string(CidrTemplateDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u CidrTemplateUpdater) SetID(ID ID) CidrTemplateUpdater {
	u.fields[string(CidrTemplateDBSchema.ID)] = ID
	return u
}

// SetProjectID is an autogenerated method
// nolint: dupl
func (u CidrTemplateUpdater) SetProjectID(projectID ID) CidrTemplateUpdater {
	u.fields[string(CidrTemplateDBSchema.ProjectID)] = projectID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u CidrTemplateUpdater) SetUpdatedAt(updatedAt *time.Time) CidrTemplateUpdater {
	u.fields[string(CidrTemplateDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u CidrTemplateUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u CidrTemplateUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set CidrTemplateQuerySet

// ===== BEGIN of CidrTemplate modifiers

// CidrTemplateDBSchemaField describes database schema field. It requires for method 'Update'
type CidrTemplateDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f CidrTemplateDBSchemaField) String() string {
	return string(f)
}

// CidrTemplateDBSchema stores db field names of CidrTemplate
var CidrTemplateDBSchema = struct {
	ID        CidrTemplateDBSchemaField
	CreatedAt CidrTemplateDBSchemaField
	UpdatedAt CidrTemplateDBSchemaField
	Cidr      CidrTemplateDBSchemaField
	ProjectID CidrTemplateDBSchemaField
	Project   CidrTemplateDBSchemaField
}{

	ID:        CidrTemplateDBSchemaField("id"),
	CreatedAt: CidrTemplateDBSchemaField("created_at"),
	UpdatedAt: CidrTemplateDBSchemaField("updated_at"),
	Cidr:      CidrTemplateDBSchemaField("cidr"),
	ProjectID: CidrTemplateDBSchemaField("project_id"),
	Project:   CidrTemplateDBSchemaField("project"),
}

// Update updates CidrTemplate fields by primary key
// nolint: dupl
func (o *CidrTemplate) Update(db *gorm.DB, fields ...CidrTemplateDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"updated_at": o.UpdatedAt,
		"cidr":       o.Cidr,
		"project_id": o.ProjectID,
		"project":    o.Project,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update CidrTemplate %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// CidrTemplateUpdater is an CidrTemplate updates manager
type CidrTemplateUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewCidrTemplateUpdater creates new CidrTemplate updater
// nolint: dupl
func NewCidrTemplateUpdater(db *gorm.DB) CidrTemplateUpdater {
	return CidrTemplateUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&CidrTemplate{}),
	}
}

// ===== END of CidrTemplate modifiers

// ===== BEGIN of query set ClusterCidrQuerySet

// ClusterCidrQuerySet is an queryset type for ClusterCidr
type ClusterCidrQuerySet struct {
	db *gorm.DB
}

// NewClusterCidrQuerySet constructs new ClusterCidrQuerySet
func NewClusterCidrQuerySet(db *gorm.DB) ClusterCidrQuerySet {
	return ClusterCidrQuerySet{
		db: db.Model(&ClusterCidr{}),
	}
}

func (qs ClusterCidrQuerySet) w(db *gorm.DB) ClusterCidrQuerySet {
	return NewClusterCidrQuerySet(db)
}

func (qs ClusterCidrQuerySet) Select(fields ...ClusterCidrDBSchemaField) ClusterCidrQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *ClusterCidr) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *ClusterCidr) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) All(ret *[]ClusterCidr) error {
	return qs.db.Find(ret).Error
}

// ClusterIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) ClusterIDEq(clusterID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("cluster_id = ?", clusterID))
}

// ClusterIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) ClusterIDGt(clusterID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("cluster_id > ?", clusterID))
}

// ClusterIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) ClusterIDGte(clusterID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("cluster_id >= ?", clusterID))
}

// ClusterIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) ClusterIDIn(clusterID ...ID) ClusterCidrQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id IN (?)", clusterID))
}

// ClusterIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) ClusterIDLt(clusterID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("cluster_id < ?", clusterID))
}

// ClusterIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) ClusterIDLte(clusterID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("cluster_id <= ?", clusterID))
}

// ClusterIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) ClusterIDNe(clusterID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("cluster_id != ?", clusterID))
}

// ClusterIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) ClusterIDNotIn(clusterID ...ID) ClusterCidrQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id NOT IN (?)", clusterID))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) CreatedAtEq(createdAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) CreatedAtGt(createdAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) CreatedAtGte(createdAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) CreatedAtLt(createdAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) CreatedAtLte(createdAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) CreatedAtNe(createdAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) Delete() error {
	return qs.db.Delete(&ClusterCidr{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&ClusterCidr{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&ClusterCidr{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) GetUpdater() ClusterCidrUpdater {
	return NewClusterCidrUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) IDEq(ID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) IDGt(ID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) IDGte(ID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) IDIn(ID ...ID) ClusterCidrQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) IDLt(ID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) IDLte(ID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) IDNe(ID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) IDNotIn(ID ...ID) ClusterCidrQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) Limit(limit int) ClusterCidrQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) Offset(offset int) ClusterCidrQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ClusterCidrQuerySet) One(ret *ClusterCidr) error {
	return qs.db.First(ret).Error
}

// OrderAscByClusterID is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderAscByClusterID() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("cluster_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderAscByCreatedAt() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderAscByID() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderAscByUpdatedAt() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByClusterID is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderDescByClusterID() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("cluster_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderDescByCreatedAt() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderDescByID() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderDescByUpdatedAt() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadCidr is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) PreloadCidr() ClusterCidrQuerySet {
	return qs.w(qs.db.Preload("Cidr"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) UpdatedAtEq(updatedAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) UpdatedAtGt(updatedAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) UpdatedAtGte(updatedAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) UpdatedAtIsNotNull() ClusterCidrQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) UpdatedAtIsNull() ClusterCidrQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) UpdatedAtLt(updatedAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) UpdatedAtLte(updatedAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) UpdatedAtNe(updatedAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCidr is an autogenerated method
// nolint: dupl
func (u ClusterCidrUpdater) SetCidr(cidr TrafficFilters) ClusterCidrUpdater {
	u.fields[string(ClusterCidrDBSchema.Cidr)] = cidr
	return u
}

// SetClusterID is an autogenerated method
// nolint: dupl
func (u ClusterCidrUpdater) SetClusterID(clusterID ID) ClusterCidrUpdater {
	u.fields[string(ClusterCidrDBSchema.ClusterID)] = clusterID
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ClusterCidrUpdater) SetCreatedAt(createdAt time.Time) ClusterCidrUpdater {
	u.fields[string(ClusterCidrDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ClusterCidrUpdater) SetID(ID ID) ClusterCidrUpdater {
	u.fields[string(ClusterCidrDBSchema.ID)] = ID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ClusterCidrUpdater) SetUpdatedAt(updatedAt *time.Time) ClusterCidrUpdater {
	u.fields[string(ClusterCidrDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ClusterCidrUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ClusterCidrUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ClusterCidrQuerySet

// ===== BEGIN of ClusterCidr modifiers

// ClusterCidrDBSchemaField describes database schema field. It requires for method 'Update'
type ClusterCidrDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ClusterCidrDBSchemaField) String() string {
	return string(f)
}

// ClusterCidrDBSchema stores db field names of ClusterCidr
var ClusterCidrDBSchema = struct {
	ID        ClusterCidrDBSchemaField
	CreatedAt ClusterCidrDBSchemaField
	UpdatedAt ClusterCidrDBSchemaField
	ClusterID ClusterCidrDBSchemaField
	Cidr      ClusterCidrDBSchemaField
}{

	ID:        ClusterCidrDBSchemaField("id"),
	CreatedAt: ClusterCidrDBSchemaField("created_at"),
	UpdatedAt: ClusterCidrDBSchemaField("updated_at"),
	ClusterID: ClusterCidrDBSchemaField("cluster_id"),
	Cidr:      ClusterCidrDBSchemaField("cidr"),
}

// Update updates ClusterCidr fields by primary key
// nolint: dupl
func (o *ClusterCidr) Update(db *gorm.DB, fields ...ClusterCidrDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"updated_at": o.UpdatedAt,
		"cluster_id": o.ClusterID,
		"cidr":       o.Cidr,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update ClusterCidr %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ClusterCidrUpdater is an ClusterCidr updates manager
type ClusterCidrUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewClusterCidrUpdater creates new ClusterCidr updater
// nolint: dupl
func NewClusterCidrUpdater(db *gorm.DB) ClusterCidrUpdater {
	return ClusterCidrUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&ClusterCidr{}),
	}
}

// ===== END of ClusterCidr modifiers

// ===== BEGIN of query set ClusterOperationQuerySet

// ClusterOperationQuerySet is an queryset type for ClusterOperation
type ClusterOperationQuerySet struct {
	db *gorm.DB
}

// NewClusterOperationQuerySet constructs new ClusterOperationQuerySet
func NewClusterOperationQuerySet(db *gorm.DB) ClusterOperationQuerySet {
	return ClusterOperationQuerySet{
		db: db.Model(&ClusterOperation{}),
	}
}

func (qs ClusterOperationQuerySet) w(db *gorm.DB) ClusterOperationQuerySet {
	return NewClusterOperationQuerySet(db)
}

func (qs ClusterOperationQuerySet) Select(fields ...ClusterOperationDBSchemaField) ClusterOperationQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *ClusterOperation) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *ClusterOperation) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) All(ret *[]ClusterOperation) error {
	return qs.db.Find(ret).Error
}

// ClusterIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIDEq(clusterID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("cluster_id = ?", clusterID))
}

// ClusterIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIDGt(clusterID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("cluster_id > ?", clusterID))
}

// ClusterIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIDGte(clusterID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("cluster_id >= ?", clusterID))
}

// ClusterIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIDIn(clusterID ...ID) ClusterOperationQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id IN (?)", clusterID))
}

// ClusterIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIDLt(clusterID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("cluster_id < ?", clusterID))
}

// ClusterIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIDLte(clusterID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("cluster_id <= ?", clusterID))
}

// ClusterIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIDNe(clusterID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("cluster_id != ?", clusterID))
}

// ClusterIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIDNotIn(clusterID ...ID) ClusterOperationQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id NOT IN (?)", clusterID))
}

// ClusterIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIsNotNull() ClusterOperationQuerySet {
	return qs.w(qs.db.Where("cluster IS NOT NULL"))
}

// ClusterIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIsNull() ClusterOperationQuerySet {
	return qs.w(qs.db.Where("cluster IS NULL"))
}

// CompletedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CompletedAtEq(completedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("completed_at = ?", completedAt))
}

// CompletedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CompletedAtGt(completedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("completed_at > ?", completedAt))
}

// CompletedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CompletedAtGte(completedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("completed_at >= ?", completedAt))
}

// CompletedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CompletedAtIsNotNull() ClusterOperationQuerySet {
	return qs.w(qs.db.Where("completed_at IS NOT NULL"))
}

// CompletedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CompletedAtIsNull() ClusterOperationQuerySet {
	return qs.w(qs.db.Where("completed_at IS NULL"))
}

// CompletedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CompletedAtLt(completedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("completed_at < ?", completedAt))
}

// CompletedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CompletedAtLte(completedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("completed_at <= ?", completedAt))
}

// CompletedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CompletedAtNe(completedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("completed_at != ?", completedAt))
}

// ContentEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentEq(content string) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("content = ?", content))
}

// ContentGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentGt(content string) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("content > ?", content))
}

// ContentGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentGte(content string) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("content >= ?", content))
}

// ContentIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentIn(content ...string) ClusterOperationQuerySet {
	if len(content) == 0 {
		qs.db.AddError(errors.New("must at least pass one content in ContentIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("content IN (?)", content))
}

// ContentLike is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentLike(content string) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("content LIKE ?", content))
}

// ContentLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentLt(content string) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("content < ?", content))
}

// ContentLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentLte(content string) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("content <= ?", content))
}

// ContentNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentNe(content string) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("content != ?", content))
}

// ContentNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentNotIn(content ...string) ClusterOperationQuerySet {
	if len(content) == 0 {
		qs.db.AddError(errors.New("must at least pass one content in ContentNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("content NOT IN (?)", content))
}

// ContentNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentNotlike(content string) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("content NOT LIKE ?", content))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CreatedAtEq(createdAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CreatedAtGt(createdAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CreatedAtGte(createdAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CreatedAtLt(createdAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CreatedAtLte(createdAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CreatedAtNe(createdAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) Delete() error {
	return qs.db.Delete(&ClusterOperation{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&ClusterOperation{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&ClusterOperation{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) GetUpdater() ClusterOperationUpdater {
	return NewClusterOperationUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) IDEq(ID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) IDGt(ID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) IDGte(ID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) IDIn(ID ...ID) ClusterOperationQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) IDLt(ID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) IDLte(ID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) IDNe(ID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) IDNotIn(ID ...ID) ClusterOperationQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) Limit(limit int) ClusterOperationQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) Offset(offset int) ClusterOperationQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ClusterOperationQuerySet) One(ret *ClusterOperation) error {
	return qs.db.First(ret).Error
}

// OrderAscByClusterID is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscByClusterID() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("cluster_id ASC"))
}

// OrderAscByCompletedAt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscByCompletedAt() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("completed_at ASC"))
}

// OrderAscByContent is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscByContent() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("content ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscByCreatedAt() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscByID() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscByStatus() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByType is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscByType() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("type ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscByUpdatedAt() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByClusterID is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescByClusterID() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("cluster_id DESC"))
}

// OrderDescByCompletedAt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescByCompletedAt() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("completed_at DESC"))
}

// OrderDescByContent is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescByContent() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("content DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescByCreatedAt() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescByID() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescByStatus() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByType is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescByType() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("type DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescByUpdatedAt() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadCluster is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) PreloadCluster() ClusterOperationQuerySet {
	return qs.w(qs.db.Preload("Cluster"))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusEq(status ClusterOperationStatus) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusGt(status ClusterOperationStatus) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusGte(status ClusterOperationStatus) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusIn(status ...ClusterOperationStatus) ClusterOperationQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusLike(status ClusterOperationStatus) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusLt(status ClusterOperationStatus) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusLte(status ClusterOperationStatus) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusNe(status ClusterOperationStatus) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusNotIn(status ...ClusterOperationStatus) ClusterOperationQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusNotlike(status ClusterOperationStatus) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// TypeEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeEq(typeValue ClusterOperationType) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("type = ?", typeValue))
}

// TypeGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeGt(typeValue ClusterOperationType) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("type > ?", typeValue))
}

// TypeGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeGte(typeValue ClusterOperationType) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("type >= ?", typeValue))
}

// TypeIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeIn(typeValue ...ClusterOperationType) ClusterOperationQuerySet {
	if len(typeValue) == 0 {
		qs.db.AddError(errors.New("must at least pass one typeValue in TypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("type IN (?)", typeValue))
}

// TypeLike is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeLike(typeValue ClusterOperationType) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("type LIKE ?", typeValue))
}

// TypeLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeLt(typeValue ClusterOperationType) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("type < ?", typeValue))
}

// TypeLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeLte(typeValue ClusterOperationType) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("type <= ?", typeValue))
}

// TypeNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeNe(typeValue ClusterOperationType) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("type != ?", typeValue))
}

// TypeNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeNotIn(typeValue ...ClusterOperationType) ClusterOperationQuerySet {
	if len(typeValue) == 0 {
		qs.db.AddError(errors.New("must at least pass one typeValue in TypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("type NOT IN (?)", typeValue))
}

// TypeNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeNotlike(typeValue ClusterOperationType) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("type NOT LIKE ?", typeValue))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) UpdatedAtEq(updatedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) UpdatedAtGt(updatedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) UpdatedAtGte(updatedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) UpdatedAtIsNotNull() ClusterOperationQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) UpdatedAtIsNull() ClusterOperationQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) UpdatedAtLt(updatedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) UpdatedAtLte(updatedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) UpdatedAtNe(updatedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetClusterID is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetClusterID(clusterID ID) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.ClusterID)] = clusterID
	return u
}

// SetCompletedAt is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetCompletedAt(completedAt *time.Time) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.CompletedAt)] = completedAt
	return u
}

// SetContent is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetContent(content string) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.Content)] = content
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetCreatedAt(createdAt time.Time) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetID(ID ID) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.ID)] = ID
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetStatus(status ClusterOperationStatus) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.Status)] = status
	return u
}

// SetType is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetType(typeValue ClusterOperationType) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.Type)] = typeValue
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetUpdatedAt(updatedAt *time.Time) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ClusterOperationQuerySet

// ===== BEGIN of ClusterOperation modifiers

// ClusterOperationDBSchemaField describes database schema field. It requires for method 'Update'
type ClusterOperationDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ClusterOperationDBSchemaField) String() string {
	return string(f)
}

// ClusterOperationDBSchema stores db field names of ClusterOperation
var ClusterOperationDBSchema = struct {
	ID          ClusterOperationDBSchemaField
	CreatedAt   ClusterOperationDBSchemaField
	UpdatedAt   ClusterOperationDBSchemaField
	ClusterID   ClusterOperationDBSchemaField
	Cluster     ClusterOperationDBSchemaField
	Type        ClusterOperationDBSchemaField
	CompletedAt ClusterOperationDBSchemaField
	Status      ClusterOperationDBSchemaField
	Content     ClusterOperationDBSchemaField
}{

	ID:          ClusterOperationDBSchemaField("id"),
	CreatedAt:   ClusterOperationDBSchemaField("created_at"),
	UpdatedAt:   ClusterOperationDBSchemaField("updated_at"),
	ClusterID:   ClusterOperationDBSchemaField("cluster_id"),
	Cluster:     ClusterOperationDBSchemaField("cluster"),
	Type:        ClusterOperationDBSchemaField("type"),
	CompletedAt: ClusterOperationDBSchemaField("completed_at"),
	Status:      ClusterOperationDBSchemaField("status"),
	Content:     ClusterOperationDBSchemaField("content"),
}

// Update updates ClusterOperation fields by primary key
// nolint: dupl
func (o *ClusterOperation) Update(db *gorm.DB, fields ...ClusterOperationDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":           o.ID,
		"created_at":   o.CreatedAt,
		"updated_at":   o.UpdatedAt,
		"cluster_id":   o.ClusterID,
		"cluster":      o.Cluster,
		"type":         o.Type,
		"completed_at": o.CompletedAt,
		"status":       o.Status,
		"content":      o.Content,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update ClusterOperation %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ClusterOperationUpdater is an ClusterOperation updates manager
type ClusterOperationUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewClusterOperationUpdater creates new ClusterOperation updater
// nolint: dupl
func NewClusterOperationUpdater(db *gorm.DB) ClusterOperationUpdater {
	return ClusterOperationUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&ClusterOperation{}),
	}
}

// ===== END of ClusterOperation modifiers

// ===== BEGIN of query set ClusterProfileQuerySet

// ClusterProfileQuerySet is an queryset type for ClusterProfile
type ClusterProfileQuerySet struct {
	db *gorm.DB
}

// NewClusterProfileQuerySet constructs new ClusterProfileQuerySet
func NewClusterProfileQuerySet(db *gorm.DB) ClusterProfileQuerySet {
	return ClusterProfileQuerySet{
		db: db.Model(&ClusterProfile{}),
	}
}

func (qs ClusterProfileQuerySet) w(db *gorm.DB) ClusterProfileQuerySet {
	return NewClusterProfileQuerySet(db)
}

func (qs ClusterProfileQuerySet) Select(fields ...ClusterProfileDBSchemaField) ClusterProfileQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *ClusterProfile) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *ClusterProfile) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) All(ret *[]ClusterProfile) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) CreatedAtEq(createdAt time.Time) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) CreatedAtGt(createdAt time.Time) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) CreatedAtGte(createdAt time.Time) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) CreatedAtLt(createdAt time.Time) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) CreatedAtLte(createdAt time.Time) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) CreatedAtNe(createdAt time.Time) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) Delete() error {
	return qs.db.Delete(&ClusterProfile{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&ClusterProfile{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&ClusterProfile{})
	return db.RowsAffected, db.Error
}

// DescriptionEq is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) DescriptionEq(description string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("description = ?", description))
}

// DescriptionGt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) DescriptionGt(description string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("description > ?", description))
}

// DescriptionGte is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) DescriptionGte(description string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("description >= ?", description))
}

// DescriptionIn is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) DescriptionIn(description ...string) ClusterProfileQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description IN (?)", description))
}

// DescriptionLike is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) DescriptionLike(description string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("description LIKE ?", description))
}

// DescriptionLt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) DescriptionLt(description string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("description < ?", description))
}

// DescriptionLte is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) DescriptionLte(description string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("description <= ?", description))
}

// DescriptionNe is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) DescriptionNe(description string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("description != ?", description))
}

// DescriptionNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) DescriptionNotIn(description ...string) ClusterProfileQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description NOT IN (?)", description))
}

// DescriptionNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) DescriptionNotlike(description string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("description NOT LIKE ?", description))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) GetUpdater() ClusterProfileUpdater {
	return NewClusterProfileUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) IDEq(ID ID) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) IDGt(ID ID) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) IDGte(ID ID) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) IDIn(ID ...ID) ClusterProfileQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) IDLt(ID ID) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) IDLte(ID ID) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) IDNe(ID ID) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) IDNotIn(ID ...ID) ClusterProfileQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) Limit(limit int) ClusterProfileQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) NameEq(name string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) NameGt(name string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) NameGte(name string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) NameIn(name ...string) ClusterProfileQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) NameLike(name string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) NameLt(name string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) NameLte(name string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) NameNe(name string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) NameNotIn(name ...string) ClusterProfileQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) NameNotlike(name string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) Offset(offset int) ClusterProfileQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ClusterProfileQuerySet) One(ret *ClusterProfile) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) OrderAscByCreatedAt() ClusterProfileQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDescription is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) OrderAscByDescription() ClusterProfileQuerySet {
	return qs.w(qs.db.Order("description ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) OrderAscByID() ClusterProfileQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) OrderAscByName() ClusterProfileQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByRegionID is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) OrderAscByRegionID() ClusterProfileQuerySet {
	return qs.w(qs.db.Order("region_id ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) OrderAscByStatus() ClusterProfileQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) OrderAscByUpdatedAt() ClusterProfileQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) OrderDescByCreatedAt() ClusterProfileQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDescription is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) OrderDescByDescription() ClusterProfileQuerySet {
	return qs.w(qs.db.Order("description DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) OrderDescByID() ClusterProfileQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) OrderDescByName() ClusterProfileQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByRegionID is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) OrderDescByRegionID() ClusterProfileQuerySet {
	return qs.w(qs.db.Order("region_id DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) OrderDescByStatus() ClusterProfileQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) OrderDescByUpdatedAt() ClusterProfileQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadRegion is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) PreloadRegion() ClusterProfileQuerySet {
	return qs.w(qs.db.Preload("Region"))
}

// RegionIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) RegionIDEq(regionID ID) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("region_id = ?", regionID))
}

// RegionIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) RegionIDGt(regionID ID) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("region_id > ?", regionID))
}

// RegionIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) RegionIDGte(regionID ID) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("region_id >= ?", regionID))
}

// RegionIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) RegionIDIn(regionID ...ID) ClusterProfileQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id IN (?)", regionID))
}

// RegionIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) RegionIDLt(regionID ID) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("region_id < ?", regionID))
}

// RegionIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) RegionIDLte(regionID ID) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("region_id <= ?", regionID))
}

// RegionIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) RegionIDNe(regionID ID) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("region_id != ?", regionID))
}

// RegionIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) RegionIDNotIn(regionID ...ID) ClusterProfileQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id NOT IN (?)", regionID))
}

// RegionIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) RegionIsNotNull() ClusterProfileQuerySet {
	return qs.w(qs.db.Where("region IS NOT NULL"))
}

// RegionIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) RegionIsNull() ClusterProfileQuerySet {
	return qs.w(qs.db.Where("region IS NULL"))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) StatusEq(status string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) StatusGt(status string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) StatusGte(status string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) StatusIn(status ...string) ClusterProfileQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) StatusLike(status string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) StatusLt(status string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) StatusLte(status string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) StatusNe(status string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) StatusNotIn(status ...string) ClusterProfileQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) StatusNotlike(status string) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) UpdatedAtEq(updatedAt time.Time) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) UpdatedAtGt(updatedAt time.Time) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) UpdatedAtGte(updatedAt time.Time) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) UpdatedAtIsNotNull() ClusterProfileQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) UpdatedAtIsNull() ClusterProfileQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) UpdatedAtLt(updatedAt time.Time) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) UpdatedAtLte(updatedAt time.Time) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterProfileQuerySet) UpdatedAtNe(updatedAt time.Time) ClusterProfileQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ClusterProfileUpdater) SetCreatedAt(createdAt time.Time) ClusterProfileUpdater {
	u.fields[string(ClusterProfileDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDescription is an autogenerated method
// nolint: dupl
func (u ClusterProfileUpdater) SetDescription(description string) ClusterProfileUpdater {
	u.fields[string(ClusterProfileDBSchema.Description)] = description
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ClusterProfileUpdater) SetID(ID ID) ClusterProfileUpdater {
	u.fields[string(ClusterProfileDBSchema.ID)] = ID
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u ClusterProfileUpdater) SetName(name string) ClusterProfileUpdater {
	u.fields[string(ClusterProfileDBSchema.Name)] = name
	return u
}

// SetRegionID is an autogenerated method
// nolint: dupl
func (u ClusterProfileUpdater) SetRegionID(regionID ID) ClusterProfileUpdater {
	u.fields[string(ClusterProfileDBSchema.RegionID)] = regionID
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u ClusterProfileUpdater) SetStatus(status string) ClusterProfileUpdater {
	u.fields[string(ClusterProfileDBSchema.Status)] = status
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ClusterProfileUpdater) SetUpdatedAt(updatedAt *time.Time) ClusterProfileUpdater {
	u.fields[string(ClusterProfileDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ClusterProfileUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ClusterProfileUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ClusterProfileQuerySet

// ===== BEGIN of ClusterProfile modifiers

// ClusterProfileDBSchemaField describes database schema field. It requires for method 'Update'
type ClusterProfileDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ClusterProfileDBSchemaField) String() string {
	return string(f)
}

// ClusterProfileDBSchema stores db field names of ClusterProfile
var ClusterProfileDBSchema = struct {
	ID          ClusterProfileDBSchemaField
	CreatedAt   ClusterProfileDBSchemaField
	UpdatedAt   ClusterProfileDBSchemaField
	Name        ClusterProfileDBSchemaField
	Description ClusterProfileDBSchemaField
	Status      ClusterProfileDBSchemaField
	Region      ClusterProfileDBSchemaField
	RegionID    ClusterProfileDBSchemaField
}{

	ID:          ClusterProfileDBSchemaField("id"),
	CreatedAt:   ClusterProfileDBSchemaField("created_at"),
	UpdatedAt:   ClusterProfileDBSchemaField("updated_at"),
	Name:        ClusterProfileDBSchemaField("name"),
	Description: ClusterProfileDBSchemaField("description"),
	Status:      ClusterProfileDBSchemaField("status"),
	Region:      ClusterProfileDBSchemaField("region"),
	RegionID:    ClusterProfileDBSchemaField("region_id"),
}

// Update updates ClusterProfile fields by primary key
// nolint: dupl
func (o *ClusterProfile) Update(db *gorm.DB, fields ...ClusterProfileDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":          o.ID,
		"created_at":  o.CreatedAt,
		"updated_at":  o.UpdatedAt,
		"name":        o.Name,
		"description": o.Description,
		"status":      o.Status,
		"region":      o.Region,
		"region_id":   o.RegionID,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update ClusterProfile %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ClusterProfileUpdater is an ClusterProfile updates manager
type ClusterProfileUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewClusterProfileUpdater creates new ClusterProfile updater
// nolint: dupl
func NewClusterProfileUpdater(db *gorm.DB) ClusterProfileUpdater {
	return ClusterProfileUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&ClusterProfile{}),
	}
}

// ===== END of ClusterProfile modifiers

// ===== BEGIN of query set ClusterQuerySet

// ClusterQuerySet is an queryset type for Cluster
type ClusterQuerySet struct {
	db *gorm.DB
}

// NewClusterQuerySet constructs new ClusterQuerySet
func NewClusterQuerySet(db *gorm.DB) ClusterQuerySet {
	return ClusterQuerySet{
		db: db.Model(&Cluster{}),
	}
}

func (qs ClusterQuerySet) w(db *gorm.DB) ClusterQuerySet {
	return NewClusterQuerySet(db)
}

func (qs ClusterQuerySet) Select(fields ...ClusterDBSchemaField) ClusterQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Cluster) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Cluster) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) All(ret *[]Cluster) error {
	return qs.db.Find(ret).Error
}

// ClusterProfileIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ClusterProfileIDEq(clusterProfileID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("cluster_profile_id = ?", clusterProfileID))
}

// ClusterProfileIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ClusterProfileIDGt(clusterProfileID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("cluster_profile_id > ?", clusterProfileID))
}

// ClusterProfileIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ClusterProfileIDGte(clusterProfileID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("cluster_profile_id >= ?", clusterProfileID))
}

// ClusterProfileIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ClusterProfileIDIn(clusterProfileID ...ID) ClusterQuerySet {
	if len(clusterProfileID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterProfileID in ClusterProfileIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_profile_id IN (?)", clusterProfileID))
}

// ClusterProfileIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ClusterProfileIDLt(clusterProfileID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("cluster_profile_id < ?", clusterProfileID))
}

// ClusterProfileIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ClusterProfileIDLte(clusterProfileID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("cluster_profile_id <= ?", clusterProfileID))
}

// ClusterProfileIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ClusterProfileIDNe(clusterProfileID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("cluster_profile_id != ?", clusterProfileID))
}

// ClusterProfileIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ClusterProfileIDNotIn(clusterProfileID ...ID) ClusterQuerySet {
	if len(clusterProfileID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterProfileID in ClusterProfileIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_profile_id NOT IN (?)", clusterProfileID))
}

// ClusterProfileIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ClusterProfileIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("cluster_profile IS NOT NULL"))
}

// ClusterProfileIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ClusterProfileIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("cluster_profile IS NULL"))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedAtEq(createdAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedAtGt(createdAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedAtGte(createdAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedAtLt(createdAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedAtLte(createdAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedAtNe(createdAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// CreatedByIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIDEq(createdByID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("created_by_id = ?", createdByID))
}

// CreatedByIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIDGt(createdByID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("created_by_id > ?", createdByID))
}

// CreatedByIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIDGte(createdByID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("created_by_id >= ?", createdByID))
}

// CreatedByIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIDIn(createdByID ...ID) ClusterQuerySet {
	if len(createdByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one createdByID in CreatedByIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("created_by_id IN (?)", createdByID))
}

// CreatedByIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIDLt(createdByID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("created_by_id < ?", createdByID))
}

// CreatedByIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIDLte(createdByID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("created_by_id <= ?", createdByID))
}

// CreatedByIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIDNe(createdByID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("created_by_id != ?", createdByID))
}

// CreatedByIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIDNotIn(createdByID ...ID) ClusterQuerySet {
	if len(createdByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one createdByID in CreatedByIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("created_by_id NOT IN (?)", createdByID))
}

// CreatedByIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("created_by IS NOT NULL"))
}

// CreatedByIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("created_by IS NULL"))
}

// CreationFinishedTimeEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreationFinishedTimeEq(creationFinishedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("creation_finished_time = ?", creationFinishedTime))
}

// CreationFinishedTimeGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreationFinishedTimeGt(creationFinishedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("creation_finished_time > ?", creationFinishedTime))
}

// CreationFinishedTimeGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreationFinishedTimeGte(creationFinishedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("creation_finished_time >= ?", creationFinishedTime))
}

// CreationFinishedTimeIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreationFinishedTimeIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("creation_finished_time IS NOT NULL"))
}

// CreationFinishedTimeIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreationFinishedTimeIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("creation_finished_time IS NULL"))
}

// CreationFinishedTimeLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreationFinishedTimeLt(creationFinishedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("creation_finished_time < ?", creationFinishedTime))
}

// CreationFinishedTimeLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreationFinishedTimeLte(creationFinishedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("creation_finished_time <= ?", creationFinishedTime))
}

// CreationFinishedTimeNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreationFinishedTimeNe(creationFinishedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("creation_finished_time != ?", creationFinishedTime))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) Delete() error {
	return qs.db.Delete(&Cluster{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Cluster{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Cluster{})
	return db.RowsAffected, db.Error
}

// DeletedTimeEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeletedTimeEq(deletedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("deleted_time = ?", deletedTime))
}

// DeletedTimeGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeletedTimeGt(deletedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("deleted_time > ?", deletedTime))
}

// DeletedTimeGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeletedTimeGte(deletedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("deleted_time >= ?", deletedTime))
}

// DeletedTimeIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeletedTimeIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("deleted_time IS NOT NULL"))
}

// DeletedTimeIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeletedTimeIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("deleted_time IS NULL"))
}

// DeletedTimeLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeletedTimeLt(deletedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("deleted_time < ?", deletedTime))
}

// DeletedTimeLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeletedTimeLte(deletedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("deleted_time <= ?", deletedTime))
}

// DeletedTimeNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeletedTimeNe(deletedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("deleted_time != ?", deletedTime))
}

// EncryptedRootPasswordEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordEq(encryptedRootPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_root_password = ?", encryptedRootPassword))
}

// EncryptedRootPasswordGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordGt(encryptedRootPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_root_password > ?", encryptedRootPassword))
}

// EncryptedRootPasswordGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordGte(encryptedRootPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_root_password >= ?", encryptedRootPassword))
}

// EncryptedRootPasswordIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordIn(encryptedRootPassword ...string) ClusterQuerySet {
	if len(encryptedRootPassword) == 0 {
		qs.db.AddError(errors.New("must at least pass one encryptedRootPassword in EncryptedRootPasswordIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("encrypted_root_password IN (?)", encryptedRootPassword))
}

// EncryptedRootPasswordLike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordLike(encryptedRootPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_root_password LIKE ?", encryptedRootPassword))
}

// EncryptedRootPasswordLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordLt(encryptedRootPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_root_password < ?", encryptedRootPassword))
}

// EncryptedRootPasswordLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordLte(encryptedRootPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_root_password <= ?", encryptedRootPassword))
}

// EncryptedRootPasswordNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordNe(encryptedRootPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_root_password != ?", encryptedRootPassword))
}

// EncryptedRootPasswordNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordNotIn(encryptedRootPassword ...string) ClusterQuerySet {
	if len(encryptedRootPassword) == 0 {
		qs.db.AddError(errors.New("must at least pass one encryptedRootPassword in EncryptedRootPasswordNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("encrypted_root_password NOT IN (?)", encryptedRootPassword))
}

// EncryptedRootPasswordNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordNotlike(encryptedRootPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_root_password NOT LIKE ?", encryptedRootPassword))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) GetUpdater() ClusterUpdater {
	return NewClusterUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) IDEq(ID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) IDGt(ID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) IDGte(ID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) IDIn(ID ...ID) ClusterQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) IDLt(ID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) IDLte(ID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) IDNe(ID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) IDNotIn(ID ...ID) ClusterQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// ImportIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDEq(importID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("import_id = ?", importID))
}

// ImportIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDGt(importID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("import_id > ?", importID))
}

// ImportIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDGte(importID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("import_id >= ?", importID))
}

// ImportIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDIn(importID ...uint64) ClusterQuerySet {
	if len(importID) == 0 {
		qs.db.AddError(errors.New("must at least pass one importID in ImportIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("import_id IN (?)", importID))
}

// ImportIDIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("import_id IS NOT NULL"))
}

// ImportIDIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("import_id IS NULL"))
}

// ImportIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDLt(importID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("import_id < ?", importID))
}

// ImportIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDLte(importID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("import_id <= ?", importID))
}

// ImportIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDNe(importID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("import_id != ?", importID))
}

// ImportIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDNotIn(importID ...uint64) ClusterQuerySet {
	if len(importID) == 0 {
		qs.db.AddError(errors.New("must at least pass one importID in ImportIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("import_id NOT IN (?)", importID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) Limit(limit int) ClusterQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameEq(name string) ClusterQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameGt(name string) ClusterQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameGte(name string) ClusterQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameIn(name ...string) ClusterQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameLike(name string) ClusterQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameLt(name string) ClusterQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameLte(name string) ClusterQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameNe(name string) ClusterQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameNotIn(name ...string) ClusterQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameNotlike(name string) ClusterQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) Offset(offset int) ClusterQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ClusterQuerySet) One(ret *Cluster) error {
	return qs.db.First(ret).Error
}

// OrderAscByClusterProfileID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByClusterProfileID() ClusterQuerySet {
	return qs.w(qs.db.Order("cluster_profile_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByCreatedAt() ClusterQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByCreatedByID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByCreatedByID() ClusterQuerySet {
	return qs.w(qs.db.Order("created_by_id ASC"))
}

// OrderAscByCreationFinishedTime is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByCreationFinishedTime() ClusterQuerySet {
	return qs.w(qs.db.Order("creation_finished_time ASC"))
}

// OrderAscByDeletedTime is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByDeletedTime() ClusterQuerySet {
	return qs.w(qs.db.Order("deleted_time ASC"))
}

// OrderAscByEncryptedRootPassword is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByEncryptedRootPassword() ClusterQuerySet {
	return qs.w(qs.db.Order("encrypted_root_password ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByID() ClusterQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByImportID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByImportID() ClusterQuerySet {
	return qs.w(qs.db.Order("import_id ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByName() ClusterQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByPasswordProviderID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByPasswordProviderID() ClusterQuerySet {
	return qs.w(qs.db.Order("password_provider_id ASC"))
}

// OrderAscByPocDeleted is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByPocDeleted() ClusterQuerySet {
	return qs.w(qs.db.Order("poc_deleted ASC"))
}

// OrderAscByProjectID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByProjectID() ClusterQuerySet {
	return qs.w(qs.db.Order("project_id ASC"))
}

// OrderAscByProviderID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByProviderID() ClusterQuerySet {
	return qs.w(qs.db.Order("provider_id ASC"))
}

// OrderAscByReplicas is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByReplicas() ClusterQuerySet {
	return qs.w(qs.db.Order("replicas ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByStatus() ClusterQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByTenantID() ClusterQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByUpdatedAt() ClusterQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByClusterProfileID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByClusterProfileID() ClusterQuerySet {
	return qs.w(qs.db.Order("cluster_profile_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByCreatedAt() ClusterQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByCreatedByID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByCreatedByID() ClusterQuerySet {
	return qs.w(qs.db.Order("created_by_id DESC"))
}

// OrderDescByCreationFinishedTime is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByCreationFinishedTime() ClusterQuerySet {
	return qs.w(qs.db.Order("creation_finished_time DESC"))
}

// OrderDescByDeletedTime is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByDeletedTime() ClusterQuerySet {
	return qs.w(qs.db.Order("deleted_time DESC"))
}

// OrderDescByEncryptedRootPassword is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByEncryptedRootPassword() ClusterQuerySet {
	return qs.w(qs.db.Order("encrypted_root_password DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByID() ClusterQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByImportID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByImportID() ClusterQuerySet {
	return qs.w(qs.db.Order("import_id DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByName() ClusterQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByPasswordProviderID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByPasswordProviderID() ClusterQuerySet {
	return qs.w(qs.db.Order("password_provider_id DESC"))
}

// OrderDescByPocDeleted is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByPocDeleted() ClusterQuerySet {
	return qs.w(qs.db.Order("poc_deleted DESC"))
}

// OrderDescByProjectID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByProjectID() ClusterQuerySet {
	return qs.w(qs.db.Order("project_id DESC"))
}

// OrderDescByProviderID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByProviderID() ClusterQuerySet {
	return qs.w(qs.db.Order("provider_id DESC"))
}

// OrderDescByReplicas is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByReplicas() ClusterQuerySet {
	return qs.w(qs.db.Order("replicas DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByStatus() ClusterQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByTenantID() ClusterQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByUpdatedAt() ClusterQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PasswordProviderIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDEq(passwordProviderID string) ClusterQuerySet {
	return qs.w(qs.db.Where("password_provider_id = ?", passwordProviderID))
}

// PasswordProviderIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDGt(passwordProviderID string) ClusterQuerySet {
	return qs.w(qs.db.Where("password_provider_id > ?", passwordProviderID))
}

// PasswordProviderIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDGte(passwordProviderID string) ClusterQuerySet {
	return qs.w(qs.db.Where("password_provider_id >= ?", passwordProviderID))
}

// PasswordProviderIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDIn(passwordProviderID ...string) ClusterQuerySet {
	if len(passwordProviderID) == 0 {
		qs.db.AddError(errors.New("must at least pass one passwordProviderID in PasswordProviderIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("password_provider_id IN (?)", passwordProviderID))
}

// PasswordProviderIDLike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDLike(passwordProviderID string) ClusterQuerySet {
	return qs.w(qs.db.Where("password_provider_id LIKE ?", passwordProviderID))
}

// PasswordProviderIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDLt(passwordProviderID string) ClusterQuerySet {
	return qs.w(qs.db.Where("password_provider_id < ?", passwordProviderID))
}

// PasswordProviderIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDLte(passwordProviderID string) ClusterQuerySet {
	return qs.w(qs.db.Where("password_provider_id <= ?", passwordProviderID))
}

// PasswordProviderIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDNe(passwordProviderID string) ClusterQuerySet {
	return qs.w(qs.db.Where("password_provider_id != ?", passwordProviderID))
}

// PasswordProviderIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDNotIn(passwordProviderID ...string) ClusterQuerySet {
	if len(passwordProviderID) == 0 {
		qs.db.AddError(errors.New("must at least pass one passwordProviderID in PasswordProviderIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("password_provider_id NOT IN (?)", passwordProviderID))
}

// PasswordProviderIDNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDNotlike(passwordProviderID string) ClusterQuerySet {
	return qs.w(qs.db.Where("password_provider_id NOT LIKE ?", passwordProviderID))
}

// PocDeletedEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PocDeletedEq(pocDeleted bool) ClusterQuerySet {
	return qs.w(qs.db.Where("poc_deleted = ?", pocDeleted))
}

// PocDeletedIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PocDeletedIn(pocDeleted ...bool) ClusterQuerySet {
	if len(pocDeleted) == 0 {
		qs.db.AddError(errors.New("must at least pass one pocDeleted in PocDeletedIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("poc_deleted IN (?)", pocDeleted))
}

// PocDeletedNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PocDeletedNe(pocDeleted bool) ClusterQuerySet {
	return qs.w(qs.db.Where("poc_deleted != ?", pocDeleted))
}

// PocDeletedNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PocDeletedNotIn(pocDeleted ...bool) ClusterQuerySet {
	if len(pocDeleted) == 0 {
		qs.db.AddError(errors.New("must at least pass one pocDeleted in PocDeletedNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("poc_deleted NOT IN (?)", pocDeleted))
}

// PreloadClusterProfile is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PreloadClusterProfile() ClusterQuerySet {
	return qs.w(qs.db.Preload("ClusterProfile"))
}

// PreloadCreatedBy is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PreloadCreatedBy() ClusterQuerySet {
	return qs.w(qs.db.Preload("CreatedBy"))
}

// PreloadProject is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PreloadProject() ClusterQuerySet {
	return qs.w(qs.db.Preload("Project"))
}

// PreloadProvider is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PreloadProvider() ClusterQuerySet {
	return qs.w(qs.db.Preload("Provider"))
}

// PreloadTenant is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PreloadTenant() ClusterQuerySet {
	return qs.w(qs.db.Preload("Tenant"))
}

// ProjectIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIDEq(projectID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("project_id = ?", projectID))
}

// ProjectIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIDGt(projectID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("project_id > ?", projectID))
}

// ProjectIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIDGte(projectID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("project_id >= ?", projectID))
}

// ProjectIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIDIn(projectID ...ID) ClusterQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id IN (?)", projectID))
}

// ProjectIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIDLt(projectID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("project_id < ?", projectID))
}

// ProjectIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIDLte(projectID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("project_id <= ?", projectID))
}

// ProjectIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIDNe(projectID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("project_id != ?", projectID))
}

// ProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIDNotIn(projectID ...ID) ClusterQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id NOT IN (?)", projectID))
}

// ProjectIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("project IS NOT NULL"))
}

// ProjectIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("project IS NULL"))
}

// ProviderIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIDEq(providerID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("provider_id = ?", providerID))
}

// ProviderIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIDGt(providerID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("provider_id > ?", providerID))
}

// ProviderIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIDGte(providerID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("provider_id >= ?", providerID))
}

// ProviderIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIDIn(providerID ...ID) ClusterQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id IN (?)", providerID))
}

// ProviderIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIDLt(providerID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("provider_id < ?", providerID))
}

// ProviderIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIDLte(providerID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("provider_id <= ?", providerID))
}

// ProviderIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIDNe(providerID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("provider_id != ?", providerID))
}

// ProviderIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIDNotIn(providerID ...ID) ClusterQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id NOT IN (?)", providerID))
}

// ProviderIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("provider IS NOT NULL"))
}

// ProviderIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("provider IS NULL"))
}

// ReplicasEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicasEq(replicas uint) ClusterQuerySet {
	return qs.w(qs.db.Where("replicas = ?", replicas))
}

// ReplicasGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicasGt(replicas uint) ClusterQuerySet {
	return qs.w(qs.db.Where("replicas > ?", replicas))
}

// ReplicasGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicasGte(replicas uint) ClusterQuerySet {
	return qs.w(qs.db.Where("replicas >= ?", replicas))
}

// ReplicasIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicasIn(replicas ...uint) ClusterQuerySet {
	if len(replicas) == 0 {
		qs.db.AddError(errors.New("must at least pass one replicas in ReplicasIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("replicas IN (?)", replicas))
}

// ReplicasLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicasLt(replicas uint) ClusterQuerySet {
	return qs.w(qs.db.Where("replicas < ?", replicas))
}

// ReplicasLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicasLte(replicas uint) ClusterQuerySet {
	return qs.w(qs.db.Where("replicas <= ?", replicas))
}

// ReplicasNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicasNe(replicas uint) ClusterQuerySet {
	return qs.w(qs.db.Where("replicas != ?", replicas))
}

// ReplicasNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicasNotIn(replicas ...uint) ClusterQuerySet {
	if len(replicas) == 0 {
		qs.db.AddError(errors.New("must at least pass one replicas in ReplicasNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("replicas NOT IN (?)", replicas))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusEq(status ClusterStatus) ClusterQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusGt(status ClusterStatus) ClusterQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusGte(status ClusterStatus) ClusterQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusIn(status ...ClusterStatus) ClusterQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusLike(status ClusterStatus) ClusterQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusLt(status ClusterStatus) ClusterQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusLte(status ClusterStatus) ClusterQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusNe(status ClusterStatus) ClusterQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusNotIn(status ...ClusterStatus) ClusterQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusNotlike(status ClusterStatus) ClusterQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIDEq(tenantID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIDGt(tenantID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIDGte(tenantID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIDIn(tenantID ...ID) ClusterQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIDLt(tenantID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIDLte(tenantID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIDNe(tenantID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIDNotIn(tenantID ...ID) ClusterQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// TenantIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("tenant IS NOT NULL"))
}

// TenantIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("tenant IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) UpdatedAtEq(updatedAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) UpdatedAtGt(updatedAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) UpdatedAtGte(updatedAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) UpdatedAtIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) UpdatedAtIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) UpdatedAtLt(updatedAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) UpdatedAtLte(updatedAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) UpdatedAtNe(updatedAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetClusterProfileID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetClusterProfileID(clusterProfileID ID) ClusterUpdater {
	u.fields[string(ClusterDBSchema.ClusterProfileID)] = clusterProfileID
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetCreatedAt(createdAt time.Time) ClusterUpdater {
	u.fields[string(ClusterDBSchema.CreatedAt)] = createdAt
	return u
}

// SetCreatedByID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetCreatedByID(createdByID ID) ClusterUpdater {
	u.fields[string(ClusterDBSchema.CreatedByID)] = createdByID
	return u
}

// SetCreationFinishedTime is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetCreationFinishedTime(creationFinishedTime *time.Time) ClusterUpdater {
	u.fields[string(ClusterDBSchema.CreationFinishedTime)] = creationFinishedTime
	return u
}

// SetDeletedTime is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetDeletedTime(deletedTime *time.Time) ClusterUpdater {
	u.fields[string(ClusterDBSchema.DeletedTime)] = deletedTime
	return u
}

// SetEncryptedRootPassword is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetEncryptedRootPassword(encryptedRootPassword string) ClusterUpdater {
	u.fields[string(ClusterDBSchema.EncryptedRootPassword)] = encryptedRootPassword
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetID(ID ID) ClusterUpdater {
	u.fields[string(ClusterDBSchema.ID)] = ID
	return u
}

// SetImportID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetImportID(importID *uint64) ClusterUpdater {
	u.fields[string(ClusterDBSchema.ImportID)] = importID
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetName(name string) ClusterUpdater {
	u.fields[string(ClusterDBSchema.Name)] = name
	return u
}

// SetPasswordProviderID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetPasswordProviderID(passwordProviderID string) ClusterUpdater {
	u.fields[string(ClusterDBSchema.PasswordProviderID)] = passwordProviderID
	return u
}

// SetPocDeleted is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetPocDeleted(pocDeleted bool) ClusterUpdater {
	u.fields[string(ClusterDBSchema.PocDeleted)] = pocDeleted
	return u
}

// SetProjectID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetProjectID(projectID ID) ClusterUpdater {
	u.fields[string(ClusterDBSchema.ProjectID)] = projectID
	return u
}

// SetProviderID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetProviderID(providerID ID) ClusterUpdater {
	u.fields[string(ClusterDBSchema.ProviderID)] = providerID
	return u
}

// SetReplicas is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetReplicas(replicas uint) ClusterUpdater {
	u.fields[string(ClusterDBSchema.Replicas)] = replicas
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetStatus(status ClusterStatus) ClusterUpdater {
	u.fields[string(ClusterDBSchema.Status)] = status
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetTenantID(tenantID ID) ClusterUpdater {
	u.fields[string(ClusterDBSchema.TenantID)] = tenantID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetUpdatedAt(updatedAt *time.Time) ClusterUpdater {
	u.fields[string(ClusterDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ClusterQuerySet

// ===== BEGIN of Cluster modifiers

// ClusterDBSchemaField describes database schema field. It requires for method 'Update'
type ClusterDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ClusterDBSchemaField) String() string {
	return string(f)
}

// ClusterDBSchema stores db field names of Cluster
var ClusterDBSchema = struct {
	ID                    ClusterDBSchemaField
	CreatedAt             ClusterDBSchemaField
	UpdatedAt             ClusterDBSchemaField
	DeletedTime           ClusterDBSchemaField
	CreationFinishedTime  ClusterDBSchemaField
	Name                  ClusterDBSchemaField
	TenantID              ClusterDBSchemaField
	Tenant                ClusterDBSchemaField
	CreatedByID           ClusterDBSchemaField
	CreatedBy             ClusterDBSchemaField
	Status                ClusterDBSchemaField
	EncryptedRootPassword ClusterDBSchemaField
	PasswordProviderID    ClusterDBSchemaField
	Replicas              ClusterDBSchemaField
	ProviderID            ClusterDBSchemaField
	Provider              ClusterDBSchemaField
	PocDeleted            ClusterDBSchemaField
	ProjectID             ClusterDBSchemaField
	Project               ClusterDBSchemaField
	ImportID              ClusterDBSchemaField
	ClusterProfile        ClusterDBSchemaField
	ClusterProfileID      ClusterDBSchemaField
}{

	ID:                    ClusterDBSchemaField("id"),
	CreatedAt:             ClusterDBSchemaField("created_at"),
	UpdatedAt:             ClusterDBSchemaField("updated_at"),
	DeletedTime:           ClusterDBSchemaField("deleted_time"),
	CreationFinishedTime:  ClusterDBSchemaField("creation_finished_time"),
	Name:                  ClusterDBSchemaField("name"),
	TenantID:              ClusterDBSchemaField("tenant_id"),
	Tenant:                ClusterDBSchemaField("tenant"),
	CreatedByID:           ClusterDBSchemaField("created_by_id"),
	CreatedBy:             ClusterDBSchemaField("created_by"),
	Status:                ClusterDBSchemaField("status"),
	EncryptedRootPassword: ClusterDBSchemaField("encrypted_root_password"),
	PasswordProviderID:    ClusterDBSchemaField("password_provider_id"),
	Replicas:              ClusterDBSchemaField("replicas"),
	ProviderID:            ClusterDBSchemaField("provider_id"),
	Provider:              ClusterDBSchemaField("provider"),
	PocDeleted:            ClusterDBSchemaField("poc_deleted"),
	ProjectID:             ClusterDBSchemaField("project_id"),
	Project:               ClusterDBSchemaField("project"),
	ImportID:              ClusterDBSchemaField("import_id"),
	ClusterProfile:        ClusterDBSchemaField("cluster_profile"),
	ClusterProfileID:      ClusterDBSchemaField("cluster_profile_id"),
}

// Update updates Cluster fields by primary key
// nolint: dupl
func (o *Cluster) Update(db *gorm.DB, fields ...ClusterDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                      o.ID,
		"created_at":              o.CreatedAt,
		"updated_at":              o.UpdatedAt,
		"deleted_time":            o.DeletedTime,
		"creation_finished_time":  o.CreationFinishedTime,
		"name":                    o.Name,
		"tenant_id":               o.TenantID,
		"tenant":                  o.Tenant,
		"created_by_id":           o.CreatedByID,
		"created_by":              o.CreatedBy,
		"status":                  o.Status,
		"encrypted_root_password": o.EncryptedRootPassword,
		"password_provider_id":    o.PasswordProviderID,
		"replicas":                o.Replicas,
		"provider_id":             o.ProviderID,
		"provider":                o.Provider,
		"poc_deleted":             o.PocDeleted,
		"project_id":              o.ProjectID,
		"project":                 o.Project,
		"import_id":               o.ImportID,
		"cluster_profile":         o.ClusterProfile,
		"cluster_profile_id":      o.ClusterProfileID,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Cluster %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ClusterUpdater is an Cluster updates manager
type ClusterUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewClusterUpdater creates new Cluster updater
// nolint: dupl
func NewClusterUpdater(db *gorm.DB) ClusterUpdater {
	return ClusterUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Cluster{}),
	}
}

// ===== END of Cluster modifiers

// ===== BEGIN of query set ComponentMachineQuerySet

// ComponentMachineQuerySet is an queryset type for ComponentMachine
type ComponentMachineQuerySet struct {
	db *gorm.DB
}

// NewComponentMachineQuerySet constructs new ComponentMachineQuerySet
func NewComponentMachineQuerySet(db *gorm.DB) ComponentMachineQuerySet {
	return ComponentMachineQuerySet{
		db: db.Model(&ComponentMachine{}),
	}
}

func (qs ComponentMachineQuerySet) w(db *gorm.DB) ComponentMachineQuerySet {
	return NewComponentMachineQuerySet(db)
}

func (qs ComponentMachineQuerySet) Select(fields ...ComponentMachineDBSchemaField) ComponentMachineQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *ComponentMachine) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *ComponentMachine) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) All(ret *[]ComponentMachine) error {
	return qs.db.Find(ret).Error
}

// ComponentIDEq is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) ComponentIDEq(componentID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("component_id = ?", componentID))
}

// ComponentIDGt is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) ComponentIDGt(componentID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("component_id > ?", componentID))
}

// ComponentIDGte is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) ComponentIDGte(componentID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("component_id >= ?", componentID))
}

// ComponentIDIn is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) ComponentIDIn(componentID ...ID) ComponentMachineQuerySet {
	if len(componentID) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentID in ComponentIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_id IN (?)", componentID))
}

// ComponentIDLt is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) ComponentIDLt(componentID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("component_id < ?", componentID))
}

// ComponentIDLte is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) ComponentIDLte(componentID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("component_id <= ?", componentID))
}

// ComponentIDNe is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) ComponentIDNe(componentID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("component_id != ?", componentID))
}

// ComponentIDNotIn is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) ComponentIDNotIn(componentID ...ID) ComponentMachineQuerySet {
	if len(componentID) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentID in ComponentIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_id NOT IN (?)", componentID))
}

// ComponentIsNotNull is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) ComponentIsNotNull() ComponentMachineQuerySet {
	return qs.w(qs.db.Where("component IS NOT NULL"))
}

// ComponentIsNull is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) ComponentIsNull() ComponentMachineQuerySet {
	return qs.w(qs.db.Where("component IS NULL"))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) CreatedAtEq(createdAt time.Time) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) CreatedAtGt(createdAt time.Time) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) CreatedAtGte(createdAt time.Time) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) CreatedAtLt(createdAt time.Time) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) CreatedAtLte(createdAt time.Time) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) CreatedAtNe(createdAt time.Time) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) Delete() error {
	return qs.db.Delete(&ComponentMachine{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&ComponentMachine{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&ComponentMachine{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) GetUpdater() ComponentMachineUpdater {
	return NewComponentMachineUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) IDEq(ID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) IDGt(ID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) IDGte(ID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) IDIn(ID ...ID) ComponentMachineQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) IDLt(ID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) IDLte(ID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) IDNe(ID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) IDNotIn(ID ...ID) ComponentMachineQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) Limit(limit int) ComponentMachineQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// MachineIDEq is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) MachineIDEq(machineID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("machine_id = ?", machineID))
}

// MachineIDGt is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) MachineIDGt(machineID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("machine_id > ?", machineID))
}

// MachineIDGte is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) MachineIDGte(machineID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("machine_id >= ?", machineID))
}

// MachineIDIn is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) MachineIDIn(machineID ...ID) ComponentMachineQuerySet {
	if len(machineID) == 0 {
		qs.db.AddError(errors.New("must at least pass one machineID in MachineIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("machine_id IN (?)", machineID))
}

// MachineIDLt is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) MachineIDLt(machineID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("machine_id < ?", machineID))
}

// MachineIDLte is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) MachineIDLte(machineID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("machine_id <= ?", machineID))
}

// MachineIDNe is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) MachineIDNe(machineID ID) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("machine_id != ?", machineID))
}

// MachineIDNotIn is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) MachineIDNotIn(machineID ...ID) ComponentMachineQuerySet {
	if len(machineID) == 0 {
		qs.db.AddError(errors.New("must at least pass one machineID in MachineIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("machine_id NOT IN (?)", machineID))
}

// MachineIsNotNull is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) MachineIsNotNull() ComponentMachineQuerySet {
	return qs.w(qs.db.Where("machine IS NOT NULL"))
}

// MachineIsNull is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) MachineIsNull() ComponentMachineQuerySet {
	return qs.w(qs.db.Where("machine IS NULL"))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) Offset(offset int) ComponentMachineQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ComponentMachineQuerySet) One(ret *ComponentMachine) error {
	return qs.db.First(ret).Error
}

// OrderAscByComponentID is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) OrderAscByComponentID() ComponentMachineQuerySet {
	return qs.w(qs.db.Order("component_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) OrderAscByCreatedAt() ComponentMachineQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) OrderAscByID() ComponentMachineQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByMachineID is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) OrderAscByMachineID() ComponentMachineQuerySet {
	return qs.w(qs.db.Order("machine_id ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) OrderAscByStatus() ComponentMachineQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) OrderAscByUpdatedAt() ComponentMachineQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByComponentID is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) OrderDescByComponentID() ComponentMachineQuerySet {
	return qs.w(qs.db.Order("component_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) OrderDescByCreatedAt() ComponentMachineQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) OrderDescByID() ComponentMachineQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByMachineID is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) OrderDescByMachineID() ComponentMachineQuerySet {
	return qs.w(qs.db.Order("machine_id DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) OrderDescByStatus() ComponentMachineQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) OrderDescByUpdatedAt() ComponentMachineQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadComponent is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) PreloadComponent() ComponentMachineQuerySet {
	return qs.w(qs.db.Preload("Component"))
}

// PreloadMachine is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) PreloadMachine() ComponentMachineQuerySet {
	return qs.w(qs.db.Preload("Machine"))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) StatusEq(status ComponentMachineStatus) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) StatusGt(status ComponentMachineStatus) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) StatusGte(status ComponentMachineStatus) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) StatusIn(status ...ComponentMachineStatus) ComponentMachineQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) StatusLike(status ComponentMachineStatus) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) StatusLt(status ComponentMachineStatus) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) StatusLte(status ComponentMachineStatus) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) StatusNe(status ComponentMachineStatus) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) StatusNotIn(status ...ComponentMachineStatus) ComponentMachineQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) StatusNotlike(status ComponentMachineStatus) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) UpdatedAtEq(updatedAt time.Time) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) UpdatedAtGt(updatedAt time.Time) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) UpdatedAtGte(updatedAt time.Time) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) UpdatedAtIsNotNull() ComponentMachineQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) UpdatedAtIsNull() ComponentMachineQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) UpdatedAtLt(updatedAt time.Time) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) UpdatedAtLte(updatedAt time.Time) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ComponentMachineQuerySet) UpdatedAtNe(updatedAt time.Time) ComponentMachineQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetComponentID is an autogenerated method
// nolint: dupl
func (u ComponentMachineUpdater) SetComponentID(componentID ID) ComponentMachineUpdater {
	u.fields[string(ComponentMachineDBSchema.ComponentID)] = componentID
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ComponentMachineUpdater) SetCreatedAt(createdAt time.Time) ComponentMachineUpdater {
	u.fields[string(ComponentMachineDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ComponentMachineUpdater) SetID(ID ID) ComponentMachineUpdater {
	u.fields[string(ComponentMachineDBSchema.ID)] = ID
	return u
}

// SetMachineID is an autogenerated method
// nolint: dupl
func (u ComponentMachineUpdater) SetMachineID(machineID ID) ComponentMachineUpdater {
	u.fields[string(ComponentMachineDBSchema.MachineID)] = machineID
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u ComponentMachineUpdater) SetStatus(status ComponentMachineStatus) ComponentMachineUpdater {
	u.fields[string(ComponentMachineDBSchema.Status)] = status
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ComponentMachineUpdater) SetUpdatedAt(updatedAt *time.Time) ComponentMachineUpdater {
	u.fields[string(ComponentMachineDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ComponentMachineUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ComponentMachineUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ComponentMachineQuerySet

// ===== BEGIN of ComponentMachine modifiers

// ComponentMachineDBSchemaField describes database schema field. It requires for method 'Update'
type ComponentMachineDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ComponentMachineDBSchemaField) String() string {
	return string(f)
}

// ComponentMachineDBSchema stores db field names of ComponentMachine
var ComponentMachineDBSchema = struct {
	ID          ComponentMachineDBSchemaField
	CreatedAt   ComponentMachineDBSchemaField
	UpdatedAt   ComponentMachineDBSchemaField
	ComponentID ComponentMachineDBSchemaField
	Component   ComponentMachineDBSchemaField
	MachineID   ComponentMachineDBSchemaField
	Machine     ComponentMachineDBSchemaField
	Status      ComponentMachineDBSchemaField
}{

	ID:          ComponentMachineDBSchemaField("id"),
	CreatedAt:   ComponentMachineDBSchemaField("created_at"),
	UpdatedAt:   ComponentMachineDBSchemaField("updated_at"),
	ComponentID: ComponentMachineDBSchemaField("component_id"),
	Component:   ComponentMachineDBSchemaField("component"),
	MachineID:   ComponentMachineDBSchemaField("machine_id"),
	Machine:     ComponentMachineDBSchemaField("machine"),
	Status:      ComponentMachineDBSchemaField("status"),
}

// Update updates ComponentMachine fields by primary key
// nolint: dupl
func (o *ComponentMachine) Update(db *gorm.DB, fields ...ComponentMachineDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":           o.ID,
		"created_at":   o.CreatedAt,
		"updated_at":   o.UpdatedAt,
		"component_id": o.ComponentID,
		"component":    o.Component,
		"machine_id":   o.MachineID,
		"machine":      o.Machine,
		"status":       o.Status,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update ComponentMachine %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ComponentMachineUpdater is an ComponentMachine updates manager
type ComponentMachineUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewComponentMachineUpdater creates new ComponentMachine updater
// nolint: dupl
func NewComponentMachineUpdater(db *gorm.DB) ComponentMachineUpdater {
	return ComponentMachineUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&ComponentMachine{}),
	}
}

// ===== END of ComponentMachine modifiers

// ===== BEGIN of query set ComponentProfileQuerySet

// ComponentProfileQuerySet is an queryset type for ComponentProfile
type ComponentProfileQuerySet struct {
	db *gorm.DB
}

// NewComponentProfileQuerySet constructs new ComponentProfileQuerySet
func NewComponentProfileQuerySet(db *gorm.DB) ComponentProfileQuerySet {
	return ComponentProfileQuerySet{
		db: db.Model(&ComponentProfile{}),
	}
}

func (qs ComponentProfileQuerySet) w(db *gorm.DB) ComponentProfileQuerySet {
	return NewComponentProfileQuerySet(db)
}

func (qs ComponentProfileQuerySet) Select(fields ...ComponentProfileDBSchemaField) ComponentProfileQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *ComponentProfile) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *ComponentProfile) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) All(ret *[]ComponentProfile) error {
	return qs.db.Find(ret).Error
}

// ClusterProfileIDEq is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ClusterProfileIDEq(clusterProfileID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("cluster_profile_id = ?", clusterProfileID))
}

// ClusterProfileIDGt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ClusterProfileIDGt(clusterProfileID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("cluster_profile_id > ?", clusterProfileID))
}

// ClusterProfileIDGte is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ClusterProfileIDGte(clusterProfileID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("cluster_profile_id >= ?", clusterProfileID))
}

// ClusterProfileIDIn is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ClusterProfileIDIn(clusterProfileID ...ID) ComponentProfileQuerySet {
	if len(clusterProfileID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterProfileID in ClusterProfileIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_profile_id IN (?)", clusterProfileID))
}

// ClusterProfileIDLt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ClusterProfileIDLt(clusterProfileID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("cluster_profile_id < ?", clusterProfileID))
}

// ClusterProfileIDLte is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ClusterProfileIDLte(clusterProfileID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("cluster_profile_id <= ?", clusterProfileID))
}

// ClusterProfileIDNe is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ClusterProfileIDNe(clusterProfileID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("cluster_profile_id != ?", clusterProfileID))
}

// ClusterProfileIDNotIn is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ClusterProfileIDNotIn(clusterProfileID ...ID) ComponentProfileQuerySet {
	if len(clusterProfileID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterProfileID in ClusterProfileIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_profile_id NOT IN (?)", clusterProfileID))
}

// ClusterProfileIsNotNull is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ClusterProfileIsNotNull() ComponentProfileQuerySet {
	return qs.w(qs.db.Where("cluster_profile IS NOT NULL"))
}

// ClusterProfileIsNull is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ClusterProfileIsNull() ComponentProfileQuerySet {
	return qs.w(qs.db.Where("cluster_profile IS NULL"))
}

// ComponentNameEq is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ComponentNameEq(componentName ComponentName) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("component_name = ?", componentName))
}

// ComponentNameGt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ComponentNameGt(componentName ComponentName) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("component_name > ?", componentName))
}

// ComponentNameGte is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ComponentNameGte(componentName ComponentName) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("component_name >= ?", componentName))
}

// ComponentNameIn is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ComponentNameIn(componentName ...ComponentName) ComponentProfileQuerySet {
	if len(componentName) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentName in ComponentNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_name IN (?)", componentName))
}

// ComponentNameLike is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ComponentNameLike(componentName ComponentName) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("component_name LIKE ?", componentName))
}

// ComponentNameLt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ComponentNameLt(componentName ComponentName) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("component_name < ?", componentName))
}

// ComponentNameLte is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ComponentNameLte(componentName ComponentName) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("component_name <= ?", componentName))
}

// ComponentNameNe is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ComponentNameNe(componentName ComponentName) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("component_name != ?", componentName))
}

// ComponentNameNotIn is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ComponentNameNotIn(componentName ...ComponentName) ComponentProfileQuerySet {
	if len(componentName) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentName in ComponentNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_name NOT IN (?)", componentName))
}

// ComponentNameNotlike is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ComponentNameNotlike(componentName ComponentName) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("component_name NOT LIKE ?", componentName))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) CreatedAtEq(createdAt time.Time) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) CreatedAtGt(createdAt time.Time) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) CreatedAtGte(createdAt time.Time) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) CreatedAtLt(createdAt time.Time) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) CreatedAtLte(createdAt time.Time) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) CreatedAtNe(createdAt time.Time) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) Delete() error {
	return qs.db.Delete(&ComponentProfile{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&ComponentProfile{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&ComponentProfile{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) GetUpdater() ComponentProfileUpdater {
	return NewComponentProfileUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) IDEq(ID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) IDGt(ID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) IDGte(ID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) IDIn(ID ...ID) ComponentProfileQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) IDLt(ID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) IDLte(ID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) IDNe(ID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) IDNotIn(ID ...ID) ComponentProfileQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) Limit(limit int) ComponentProfileQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// MachineProfileIDEq is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) MachineProfileIDEq(machineProfileID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("machine_profile_id = ?", machineProfileID))
}

// MachineProfileIDGt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) MachineProfileIDGt(machineProfileID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("machine_profile_id > ?", machineProfileID))
}

// MachineProfileIDGte is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) MachineProfileIDGte(machineProfileID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("machine_profile_id >= ?", machineProfileID))
}

// MachineProfileIDIn is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) MachineProfileIDIn(machineProfileID ...ID) ComponentProfileQuerySet {
	if len(machineProfileID) == 0 {
		qs.db.AddError(errors.New("must at least pass one machineProfileID in MachineProfileIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("machine_profile_id IN (?)", machineProfileID))
}

// MachineProfileIDLt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) MachineProfileIDLt(machineProfileID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("machine_profile_id < ?", machineProfileID))
}

// MachineProfileIDLte is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) MachineProfileIDLte(machineProfileID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("machine_profile_id <= ?", machineProfileID))
}

// MachineProfileIDNe is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) MachineProfileIDNe(machineProfileID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("machine_profile_id != ?", machineProfileID))
}

// MachineProfileIDNotIn is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) MachineProfileIDNotIn(machineProfileID ...ID) ComponentProfileQuerySet {
	if len(machineProfileID) == 0 {
		qs.db.AddError(errors.New("must at least pass one machineProfileID in MachineProfileIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("machine_profile_id NOT IN (?)", machineProfileID))
}

// MachineProfileIsNotNull is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) MachineProfileIsNotNull() ComponentProfileQuerySet {
	return qs.w(qs.db.Where("machine_profile IS NOT NULL"))
}

// MachineProfileIsNull is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) MachineProfileIsNull() ComponentProfileQuerySet {
	return qs.w(qs.db.Where("machine_profile IS NULL"))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) Offset(offset int) ComponentProfileQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ComponentProfileQuerySet) One(ret *ComponentProfile) error {
	return qs.db.First(ret).Error
}

// OrderAscByClusterProfileID is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) OrderAscByClusterProfileID() ComponentProfileQuerySet {
	return qs.w(qs.db.Order("cluster_profile_id ASC"))
}

// OrderAscByComponentName is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) OrderAscByComponentName() ComponentProfileQuerySet {
	return qs.w(qs.db.Order("component_name ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) OrderAscByCreatedAt() ComponentProfileQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) OrderAscByID() ComponentProfileQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByMachineProfileID is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) OrderAscByMachineProfileID() ComponentProfileQuerySet {
	return qs.w(qs.db.Order("machine_profile_id ASC"))
}

// OrderAscByRegionDiskID is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) OrderAscByRegionDiskID() ComponentProfileQuerySet {
	return qs.w(qs.db.Order("region_disk_id ASC"))
}

// OrderAscByReplicas is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) OrderAscByReplicas() ComponentProfileQuerySet {
	return qs.w(qs.db.Order("replicas ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) OrderAscByUpdatedAt() ComponentProfileQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByClusterProfileID is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) OrderDescByClusterProfileID() ComponentProfileQuerySet {
	return qs.w(qs.db.Order("cluster_profile_id DESC"))
}

// OrderDescByComponentName is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) OrderDescByComponentName() ComponentProfileQuerySet {
	return qs.w(qs.db.Order("component_name DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) OrderDescByCreatedAt() ComponentProfileQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) OrderDescByID() ComponentProfileQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByMachineProfileID is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) OrderDescByMachineProfileID() ComponentProfileQuerySet {
	return qs.w(qs.db.Order("machine_profile_id DESC"))
}

// OrderDescByRegionDiskID is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) OrderDescByRegionDiskID() ComponentProfileQuerySet {
	return qs.w(qs.db.Order("region_disk_id DESC"))
}

// OrderDescByReplicas is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) OrderDescByReplicas() ComponentProfileQuerySet {
	return qs.w(qs.db.Order("replicas DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) OrderDescByUpdatedAt() ComponentProfileQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadClusterProfile is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) PreloadClusterProfile() ComponentProfileQuerySet {
	return qs.w(qs.db.Preload("ClusterProfile"))
}

// PreloadMachineProfile is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) PreloadMachineProfile() ComponentProfileQuerySet {
	return qs.w(qs.db.Preload("MachineProfile"))
}

// PreloadRegionDisk is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) PreloadRegionDisk() ComponentProfileQuerySet {
	return qs.w(qs.db.Preload("RegionDisk"))
}

// RegionDiskIDEq is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) RegionDiskIDEq(regionDiskID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("region_disk_id = ?", regionDiskID))
}

// RegionDiskIDGt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) RegionDiskIDGt(regionDiskID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("region_disk_id > ?", regionDiskID))
}

// RegionDiskIDGte is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) RegionDiskIDGte(regionDiskID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("region_disk_id >= ?", regionDiskID))
}

// RegionDiskIDIn is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) RegionDiskIDIn(regionDiskID ...ID) ComponentProfileQuerySet {
	if len(regionDiskID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionDiskID in RegionDiskIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_disk_id IN (?)", regionDiskID))
}

// RegionDiskIDLt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) RegionDiskIDLt(regionDiskID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("region_disk_id < ?", regionDiskID))
}

// RegionDiskIDLte is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) RegionDiskIDLte(regionDiskID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("region_disk_id <= ?", regionDiskID))
}

// RegionDiskIDNe is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) RegionDiskIDNe(regionDiskID ID) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("region_disk_id != ?", regionDiskID))
}

// RegionDiskIDNotIn is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) RegionDiskIDNotIn(regionDiskID ...ID) ComponentProfileQuerySet {
	if len(regionDiskID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionDiskID in RegionDiskIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_disk_id NOT IN (?)", regionDiskID))
}

// RegionDiskIsNotNull is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) RegionDiskIsNotNull() ComponentProfileQuerySet {
	return qs.w(qs.db.Where("region_disk IS NOT NULL"))
}

// RegionDiskIsNull is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) RegionDiskIsNull() ComponentProfileQuerySet {
	return qs.w(qs.db.Where("region_disk IS NULL"))
}

// ReplicasEq is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ReplicasEq(replicas uint32) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("replicas = ?", replicas))
}

// ReplicasGt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ReplicasGt(replicas uint32) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("replicas > ?", replicas))
}

// ReplicasGte is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ReplicasGte(replicas uint32) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("replicas >= ?", replicas))
}

// ReplicasIn is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ReplicasIn(replicas ...uint32) ComponentProfileQuerySet {
	if len(replicas) == 0 {
		qs.db.AddError(errors.New("must at least pass one replicas in ReplicasIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("replicas IN (?)", replicas))
}

// ReplicasLt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ReplicasLt(replicas uint32) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("replicas < ?", replicas))
}

// ReplicasLte is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ReplicasLte(replicas uint32) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("replicas <= ?", replicas))
}

// ReplicasNe is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ReplicasNe(replicas uint32) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("replicas != ?", replicas))
}

// ReplicasNotIn is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) ReplicasNotIn(replicas ...uint32) ComponentProfileQuerySet {
	if len(replicas) == 0 {
		qs.db.AddError(errors.New("must at least pass one replicas in ReplicasNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("replicas NOT IN (?)", replicas))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) UpdatedAtEq(updatedAt time.Time) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) UpdatedAtGt(updatedAt time.Time) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) UpdatedAtGte(updatedAt time.Time) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) UpdatedAtIsNotNull() ComponentProfileQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) UpdatedAtIsNull() ComponentProfileQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) UpdatedAtLt(updatedAt time.Time) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) UpdatedAtLte(updatedAt time.Time) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ComponentProfileQuerySet) UpdatedAtNe(updatedAt time.Time) ComponentProfileQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetClusterProfileID is an autogenerated method
// nolint: dupl
func (u ComponentProfileUpdater) SetClusterProfileID(clusterProfileID ID) ComponentProfileUpdater {
	u.fields[string(ComponentProfileDBSchema.ClusterProfileID)] = clusterProfileID
	return u
}

// SetComponentName is an autogenerated method
// nolint: dupl
func (u ComponentProfileUpdater) SetComponentName(componentName ComponentName) ComponentProfileUpdater {
	u.fields[string(ComponentProfileDBSchema.ComponentName)] = componentName
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ComponentProfileUpdater) SetCreatedAt(createdAt time.Time) ComponentProfileUpdater {
	u.fields[string(ComponentProfileDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ComponentProfileUpdater) SetID(ID ID) ComponentProfileUpdater {
	u.fields[string(ComponentProfileDBSchema.ID)] = ID
	return u
}

// SetMachineProfileID is an autogenerated method
// nolint: dupl
func (u ComponentProfileUpdater) SetMachineProfileID(machineProfileID ID) ComponentProfileUpdater {
	u.fields[string(ComponentProfileDBSchema.MachineProfileID)] = machineProfileID
	return u
}

// SetRegionDiskID is an autogenerated method
// nolint: dupl
func (u ComponentProfileUpdater) SetRegionDiskID(regionDiskID ID) ComponentProfileUpdater {
	u.fields[string(ComponentProfileDBSchema.RegionDiskID)] = regionDiskID
	return u
}

// SetReplicas is an autogenerated method
// nolint: dupl
func (u ComponentProfileUpdater) SetReplicas(replicas uint32) ComponentProfileUpdater {
	u.fields[string(ComponentProfileDBSchema.Replicas)] = replicas
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ComponentProfileUpdater) SetUpdatedAt(updatedAt *time.Time) ComponentProfileUpdater {
	u.fields[string(ComponentProfileDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ComponentProfileUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ComponentProfileUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ComponentProfileQuerySet

// ===== BEGIN of ComponentProfile modifiers

// ComponentProfileDBSchemaField describes database schema field. It requires for method 'Update'
type ComponentProfileDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ComponentProfileDBSchemaField) String() string {
	return string(f)
}

// ComponentProfileDBSchema stores db field names of ComponentProfile
var ComponentProfileDBSchema = struct {
	ID               ComponentProfileDBSchemaField
	CreatedAt        ComponentProfileDBSchemaField
	UpdatedAt        ComponentProfileDBSchemaField
	ComponentName    ComponentProfileDBSchemaField
	Replicas         ComponentProfileDBSchemaField
	ClusterProfile   ComponentProfileDBSchemaField
	ClusterProfileID ComponentProfileDBSchemaField
	MachineProfile   ComponentProfileDBSchemaField
	MachineProfileID ComponentProfileDBSchemaField
	RegionDisk       ComponentProfileDBSchemaField
	RegionDiskID     ComponentProfileDBSchemaField
}{

	ID:               ComponentProfileDBSchemaField("id"),
	CreatedAt:        ComponentProfileDBSchemaField("created_at"),
	UpdatedAt:        ComponentProfileDBSchemaField("updated_at"),
	ComponentName:    ComponentProfileDBSchemaField("component_name"),
	Replicas:         ComponentProfileDBSchemaField("replicas"),
	ClusterProfile:   ComponentProfileDBSchemaField("cluster_profile"),
	ClusterProfileID: ComponentProfileDBSchemaField("cluster_profile_id"),
	MachineProfile:   ComponentProfileDBSchemaField("machine_profile"),
	MachineProfileID: ComponentProfileDBSchemaField("machine_profile_id"),
	RegionDisk:       ComponentProfileDBSchemaField("region_disk"),
	RegionDiskID:     ComponentProfileDBSchemaField("region_disk_id"),
}

// Update updates ComponentProfile fields by primary key
// nolint: dupl
func (o *ComponentProfile) Update(db *gorm.DB, fields ...ComponentProfileDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                 o.ID,
		"created_at":         o.CreatedAt,
		"updated_at":         o.UpdatedAt,
		"component_name":     o.ComponentName,
		"replicas":           o.Replicas,
		"cluster_profile":    o.ClusterProfile,
		"cluster_profile_id": o.ClusterProfileID,
		"machine_profile":    o.MachineProfile,
		"machine_profile_id": o.MachineProfileID,
		"region_disk":        o.RegionDisk,
		"region_disk_id":     o.RegionDiskID,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update ComponentProfile %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ComponentProfileUpdater is an ComponentProfile updates manager
type ComponentProfileUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewComponentProfileUpdater creates new ComponentProfile updater
// nolint: dupl
func NewComponentProfileUpdater(db *gorm.DB) ComponentProfileUpdater {
	return ComponentProfileUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&ComponentProfile{}),
	}
}

// ===== END of ComponentProfile modifiers

// ===== BEGIN of query set ComponentQuerySet

// ComponentQuerySet is an queryset type for Component
type ComponentQuerySet struct {
	db *gorm.DB
}

// NewComponentQuerySet constructs new ComponentQuerySet
func NewComponentQuerySet(db *gorm.DB) ComponentQuerySet {
	return ComponentQuerySet{
		db: db.Model(&Component{}),
	}
}

func (qs ComponentQuerySet) w(db *gorm.DB) ComponentQuerySet {
	return NewComponentQuerySet(db)
}

func (qs ComponentQuerySet) Select(fields ...ComponentDBSchemaField) ComponentQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Component) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Component) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) All(ret *[]Component) error {
	return qs.db.Find(ret).Error
}

// ClusterIDEq is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ClusterIDEq(clusterID ID) ComponentQuerySet {
	return qs.w(qs.db.Where("cluster_id = ?", clusterID))
}

// ClusterIDGt is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ClusterIDGt(clusterID ID) ComponentQuerySet {
	return qs.w(qs.db.Where("cluster_id > ?", clusterID))
}

// ClusterIDGte is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ClusterIDGte(clusterID ID) ComponentQuerySet {
	return qs.w(qs.db.Where("cluster_id >= ?", clusterID))
}

// ClusterIDIn is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ClusterIDIn(clusterID ...ID) ComponentQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id IN (?)", clusterID))
}

// ClusterIDLt is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ClusterIDLt(clusterID ID) ComponentQuerySet {
	return qs.w(qs.db.Where("cluster_id < ?", clusterID))
}

// ClusterIDLte is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ClusterIDLte(clusterID ID) ComponentQuerySet {
	return qs.w(qs.db.Where("cluster_id <= ?", clusterID))
}

// ClusterIDNe is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ClusterIDNe(clusterID ID) ComponentQuerySet {
	return qs.w(qs.db.Where("cluster_id != ?", clusterID))
}

// ClusterIDNotIn is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ClusterIDNotIn(clusterID ...ID) ComponentQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id NOT IN (?)", clusterID))
}

// ClusterIsNotNull is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ClusterIsNotNull() ComponentQuerySet {
	return qs.w(qs.db.Where("cluster IS NOT NULL"))
}

// ClusterIsNull is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ClusterIsNull() ComponentQuerySet {
	return qs.w(qs.db.Where("cluster IS NULL"))
}

// ComponentNameEq is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ComponentNameEq(componentName ComponentName) ComponentQuerySet {
	return qs.w(qs.db.Where("component_name = ?", componentName))
}

// ComponentNameGt is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ComponentNameGt(componentName ComponentName) ComponentQuerySet {
	return qs.w(qs.db.Where("component_name > ?", componentName))
}

// ComponentNameGte is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ComponentNameGte(componentName ComponentName) ComponentQuerySet {
	return qs.w(qs.db.Where("component_name >= ?", componentName))
}

// ComponentNameIn is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ComponentNameIn(componentName ...ComponentName) ComponentQuerySet {
	if len(componentName) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentName in ComponentNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_name IN (?)", componentName))
}

// ComponentNameLike is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ComponentNameLike(componentName ComponentName) ComponentQuerySet {
	return qs.w(qs.db.Where("component_name LIKE ?", componentName))
}

// ComponentNameLt is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ComponentNameLt(componentName ComponentName) ComponentQuerySet {
	return qs.w(qs.db.Where("component_name < ?", componentName))
}

// ComponentNameLte is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ComponentNameLte(componentName ComponentName) ComponentQuerySet {
	return qs.w(qs.db.Where("component_name <= ?", componentName))
}

// ComponentNameNe is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ComponentNameNe(componentName ComponentName) ComponentQuerySet {
	return qs.w(qs.db.Where("component_name != ?", componentName))
}

// ComponentNameNotIn is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ComponentNameNotIn(componentName ...ComponentName) ComponentQuerySet {
	if len(componentName) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentName in ComponentNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_name NOT IN (?)", componentName))
}

// ComponentNameNotlike is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) ComponentNameNotlike(componentName ComponentName) ComponentQuerySet {
	return qs.w(qs.db.Where("component_name NOT LIKE ?", componentName))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) CreatedAtEq(createdAt time.Time) ComponentQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) CreatedAtGt(createdAt time.Time) ComponentQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) CreatedAtGte(createdAt time.Time) ComponentQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) CreatedAtLt(createdAt time.Time) ComponentQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) CreatedAtLte(createdAt time.Time) ComponentQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) CreatedAtNe(createdAt time.Time) ComponentQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) Delete() error {
	return qs.db.Delete(&Component{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Component{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Component{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) GetUpdater() ComponentUpdater {
	return NewComponentUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) IDEq(ID ID) ComponentQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) IDGt(ID ID) ComponentQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) IDGte(ID ID) ComponentQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) IDIn(ID ...ID) ComponentQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) IDLt(ID ID) ComponentQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) IDLte(ID ID) ComponentQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) IDNe(ID ID) ComponentQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) IDNotIn(ID ...ID) ComponentQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) Limit(limit int) ComponentQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) Offset(offset int) ComponentQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ComponentQuerySet) One(ret *Component) error {
	return qs.db.First(ret).Error
}

// OrderAscByClusterID is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) OrderAscByClusterID() ComponentQuerySet {
	return qs.w(qs.db.Order("cluster_id ASC"))
}

// OrderAscByComponentName is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) OrderAscByComponentName() ComponentQuerySet {
	return qs.w(qs.db.Order("component_name ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) OrderAscByCreatedAt() ComponentQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) OrderAscByID() ComponentQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) OrderAscByUpdatedAt() ComponentQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByClusterID is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) OrderDescByClusterID() ComponentQuerySet {
	return qs.w(qs.db.Order("cluster_id DESC"))
}

// OrderDescByComponentName is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) OrderDescByComponentName() ComponentQuerySet {
	return qs.w(qs.db.Order("component_name DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) OrderDescByCreatedAt() ComponentQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) OrderDescByID() ComponentQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) OrderDescByUpdatedAt() ComponentQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadCluster is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) PreloadCluster() ComponentQuerySet {
	return qs.w(qs.db.Preload("Cluster"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) UpdatedAtEq(updatedAt time.Time) ComponentQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) UpdatedAtGt(updatedAt time.Time) ComponentQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) UpdatedAtGte(updatedAt time.Time) ComponentQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) UpdatedAtIsNotNull() ComponentQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) UpdatedAtIsNull() ComponentQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) UpdatedAtLt(updatedAt time.Time) ComponentQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) UpdatedAtLte(updatedAt time.Time) ComponentQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ComponentQuerySet) UpdatedAtNe(updatedAt time.Time) ComponentQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetClusterID is an autogenerated method
// nolint: dupl
func (u ComponentUpdater) SetClusterID(clusterID ID) ComponentUpdater {
	u.fields[string(ComponentDBSchema.ClusterID)] = clusterID
	return u
}

// SetComponentName is an autogenerated method
// nolint: dupl
func (u ComponentUpdater) SetComponentName(componentName ComponentName) ComponentUpdater {
	u.fields[string(ComponentDBSchema.ComponentName)] = componentName
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ComponentUpdater) SetCreatedAt(createdAt time.Time) ComponentUpdater {
	u.fields[string(ComponentDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ComponentUpdater) SetID(ID ID) ComponentUpdater {
	u.fields[string(ComponentDBSchema.ID)] = ID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ComponentUpdater) SetUpdatedAt(updatedAt *time.Time) ComponentUpdater {
	u.fields[string(ComponentDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ComponentUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ComponentUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ComponentQuerySet

// ===== BEGIN of Component modifiers

// ComponentDBSchemaField describes database schema field. It requires for method 'Update'
type ComponentDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ComponentDBSchemaField) String() string {
	return string(f)
}

// ComponentDBSchema stores db field names of Component
var ComponentDBSchema = struct {
	ID            ComponentDBSchemaField
	CreatedAt     ComponentDBSchemaField
	UpdatedAt     ComponentDBSchemaField
	ComponentName ComponentDBSchemaField
	ClusterID     ComponentDBSchemaField
	Cluster       ComponentDBSchemaField
}{

	ID:            ComponentDBSchemaField("id"),
	CreatedAt:     ComponentDBSchemaField("created_at"),
	UpdatedAt:     ComponentDBSchemaField("updated_at"),
	ComponentName: ComponentDBSchemaField("component_name"),
	ClusterID:     ComponentDBSchemaField("cluster_id"),
	Cluster:       ComponentDBSchemaField("cluster"),
}

// Update updates Component fields by primary key
// nolint: dupl
func (o *Component) Update(db *gorm.DB, fields ...ComponentDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":             o.ID,
		"created_at":     o.CreatedAt,
		"updated_at":     o.UpdatedAt,
		"component_name": o.ComponentName,
		"cluster_id":     o.ClusterID,
		"cluster":        o.Cluster,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Component %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ComponentUpdater is an Component updates manager
type ComponentUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewComponentUpdater creates new Component updater
// nolint: dupl
func NewComponentUpdater(db *gorm.DB) ComponentUpdater {
	return ComponentUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Component{}),
	}
}

// ===== END of Component modifiers

// ===== BEGIN of query set ConnectionQuerySet

// ConnectionQuerySet is an queryset type for Connection
type ConnectionQuerySet struct {
	db *gorm.DB
}

// NewConnectionQuerySet constructs new ConnectionQuerySet
func NewConnectionQuerySet(db *gorm.DB) ConnectionQuerySet {
	return ConnectionQuerySet{
		db: db.Model(&Connection{}),
	}
}

func (qs ConnectionQuerySet) w(db *gorm.DB) ConnectionQuerySet {
	return NewConnectionQuerySet(db)
}

func (qs ConnectionQuerySet) Select(fields ...ConnectionDBSchemaField) ConnectionQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Connection) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Connection) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) All(ret *[]Connection) error {
	return qs.db.Find(ret).Error
}

// ClusterIDEq is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIDEq(clusterID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("cluster_id = ?", clusterID))
}

// ClusterIDGt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIDGt(clusterID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("cluster_id > ?", clusterID))
}

// ClusterIDGte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIDGte(clusterID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("cluster_id >= ?", clusterID))
}

// ClusterIDIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIDIn(clusterID ...ID) ConnectionQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id IN (?)", clusterID))
}

// ClusterIDLt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIDLt(clusterID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("cluster_id < ?", clusterID))
}

// ClusterIDLte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIDLte(clusterID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("cluster_id <= ?", clusterID))
}

// ClusterIDNe is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIDNe(clusterID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("cluster_id != ?", clusterID))
}

// ClusterIDNotIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIDNotIn(clusterID ...ID) ConnectionQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id NOT IN (?)", clusterID))
}

// ClusterIsNotNull is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIsNotNull() ConnectionQuerySet {
	return qs.w(qs.db.Where("cluster IS NOT NULL"))
}

// ClusterIsNull is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIsNull() ConnectionQuerySet {
	return qs.w(qs.db.Where("cluster IS NULL"))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreateSuccessEq is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreateSuccessEq(createSuccess bool) ConnectionQuerySet {
	return qs.w(qs.db.Where("create_success = ?", createSuccess))
}

// CreateSuccessIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreateSuccessIn(createSuccess ...bool) ConnectionQuerySet {
	if len(createSuccess) == 0 {
		qs.db.AddError(errors.New("must at least pass one createSuccess in CreateSuccessIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("create_success IN (?)", createSuccess))
}

// CreateSuccessIsNotNull is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreateSuccessIsNotNull() ConnectionQuerySet {
	return qs.w(qs.db.Where("create_success IS NOT NULL"))
}

// CreateSuccessIsNull is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreateSuccessIsNull() ConnectionQuerySet {
	return qs.w(qs.db.Where("create_success IS NULL"))
}

// CreateSuccessNe is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreateSuccessNe(createSuccess bool) ConnectionQuerySet {
	return qs.w(qs.db.Where("create_success != ?", createSuccess))
}

// CreateSuccessNotIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreateSuccessNotIn(createSuccess ...bool) ConnectionQuerySet {
	if len(createSuccess) == 0 {
		qs.db.AddError(errors.New("must at least pass one createSuccess in CreateSuccessNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("create_success NOT IN (?)", createSuccess))
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreatedAtEq(createdAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreatedAtGt(createdAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreatedAtGte(createdAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreatedAtLt(createdAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreatedAtLte(createdAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreatedAtNe(createdAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// DSNEq is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNEq(dSN string) ConnectionQuerySet {
	return qs.w(qs.db.Where("dsn = ?", dSN))
}

// DSNGt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNGt(dSN string) ConnectionQuerySet {
	return qs.w(qs.db.Where("dsn > ?", dSN))
}

// DSNGte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNGte(dSN string) ConnectionQuerySet {
	return qs.w(qs.db.Where("dsn >= ?", dSN))
}

// DSNIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNIn(dSN ...string) ConnectionQuerySet {
	if len(dSN) == 0 {
		qs.db.AddError(errors.New("must at least pass one dSN in DSNIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("dsn IN (?)", dSN))
}

// DSNLike is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNLike(dSN string) ConnectionQuerySet {
	return qs.w(qs.db.Where("dsn LIKE ?", dSN))
}

// DSNLt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNLt(dSN string) ConnectionQuerySet {
	return qs.w(qs.db.Where("dsn < ?", dSN))
}

// DSNLte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNLte(dSN string) ConnectionQuerySet {
	return qs.w(qs.db.Where("dsn <= ?", dSN))
}

// DSNNe is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNNe(dSN string) ConnectionQuerySet {
	return qs.w(qs.db.Where("dsn != ?", dSN))
}

// DSNNotIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNNotIn(dSN ...string) ConnectionQuerySet {
	if len(dSN) == 0 {
		qs.db.AddError(errors.New("must at least pass one dSN in DSNNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("dsn NOT IN (?)", dSN))
}

// DSNNotlike is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNNotlike(dSN string) ConnectionQuerySet {
	return qs.w(qs.db.Where("dsn NOT LIKE ?", dSN))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) Delete() error {
	return qs.db.Delete(&Connection{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Connection{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Connection{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) GetUpdater() ConnectionUpdater {
	return NewConnectionUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) IDEq(ID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) IDGt(ID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) IDGte(ID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) IDIn(ID ...ID) ConnectionQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) IDLt(ID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) IDLte(ID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) IDNe(ID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) IDNotIn(ID ...ID) ConnectionQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) Limit(limit int) ConnectionQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) Offset(offset int) ConnectionQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ConnectionQuerySet) One(ret *Connection) error {
	return qs.db.First(ret).Error
}

// OrderAscByClusterID is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderAscByClusterID() ConnectionQuerySet {
	return qs.w(qs.db.Order("cluster_id ASC"))
}

// OrderAscByCreateSuccess is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderAscByCreateSuccess() ConnectionQuerySet {
	return qs.w(qs.db.Order("create_success ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderAscByCreatedAt() ConnectionQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDSN is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderAscByDSN() ConnectionQuerySet {
	return qs.w(qs.db.Order("dsn ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderAscByID() ConnectionQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByType is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderAscByType() ConnectionQuerySet {
	return qs.w(qs.db.Order("type ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderAscByUpdatedAt() ConnectionQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByClusterID is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderDescByClusterID() ConnectionQuerySet {
	return qs.w(qs.db.Order("cluster_id DESC"))
}

// OrderDescByCreateSuccess is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderDescByCreateSuccess() ConnectionQuerySet {
	return qs.w(qs.db.Order("create_success DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderDescByCreatedAt() ConnectionQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDSN is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderDescByDSN() ConnectionQuerySet {
	return qs.w(qs.db.Order("dsn DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderDescByID() ConnectionQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByType is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderDescByType() ConnectionQuerySet {
	return qs.w(qs.db.Order("type DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderDescByUpdatedAt() ConnectionQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadCluster is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) PreloadCluster() ConnectionQuerySet {
	return qs.w(qs.db.Preload("Cluster"))
}

// TypeEq is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeEq(typeValue ClusterConnectionType) ConnectionQuerySet {
	return qs.w(qs.db.Where("type = ?", typeValue))
}

// TypeGt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeGt(typeValue ClusterConnectionType) ConnectionQuerySet {
	return qs.w(qs.db.Where("type > ?", typeValue))
}

// TypeGte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeGte(typeValue ClusterConnectionType) ConnectionQuerySet {
	return qs.w(qs.db.Where("type >= ?", typeValue))
}

// TypeIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeIn(typeValue ...ClusterConnectionType) ConnectionQuerySet {
	if len(typeValue) == 0 {
		qs.db.AddError(errors.New("must at least pass one typeValue in TypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("type IN (?)", typeValue))
}

// TypeLike is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeLike(typeValue ClusterConnectionType) ConnectionQuerySet {
	return qs.w(qs.db.Where("type LIKE ?", typeValue))
}

// TypeLt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeLt(typeValue ClusterConnectionType) ConnectionQuerySet {
	return qs.w(qs.db.Where("type < ?", typeValue))
}

// TypeLte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeLte(typeValue ClusterConnectionType) ConnectionQuerySet {
	return qs.w(qs.db.Where("type <= ?", typeValue))
}

// TypeNe is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeNe(typeValue ClusterConnectionType) ConnectionQuerySet {
	return qs.w(qs.db.Where("type != ?", typeValue))
}

// TypeNotIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeNotIn(typeValue ...ClusterConnectionType) ConnectionQuerySet {
	if len(typeValue) == 0 {
		qs.db.AddError(errors.New("must at least pass one typeValue in TypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("type NOT IN (?)", typeValue))
}

// TypeNotlike is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeNotlike(typeValue ClusterConnectionType) ConnectionQuerySet {
	return qs.w(qs.db.Where("type NOT LIKE ?", typeValue))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) UpdatedAtEq(updatedAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) UpdatedAtGt(updatedAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) UpdatedAtGte(updatedAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) UpdatedAtIsNotNull() ConnectionQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) UpdatedAtIsNull() ConnectionQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) UpdatedAtLt(updatedAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) UpdatedAtLte(updatedAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) UpdatedAtNe(updatedAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetClusterID is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) SetClusterID(clusterID ID) ConnectionUpdater {
	u.fields[string(ConnectionDBSchema.ClusterID)] = clusterID
	return u
}

// SetCreateSuccess is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) SetCreateSuccess(createSuccess *bool) ConnectionUpdater {
	u.fields[string(ConnectionDBSchema.CreateSuccess)] = createSuccess
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) SetCreatedAt(createdAt time.Time) ConnectionUpdater {
	u.fields[string(ConnectionDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDSN is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) SetDSN(dSN string) ConnectionUpdater {
	u.fields[string(ConnectionDBSchema.DSN)] = dSN
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) SetID(ID ID) ConnectionUpdater {
	u.fields[string(ConnectionDBSchema.ID)] = ID
	return u
}

// SetType is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) SetType(typeValue ClusterConnectionType) ConnectionUpdater {
	u.fields[string(ConnectionDBSchema.Type)] = typeValue
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) SetUpdatedAt(updatedAt *time.Time) ConnectionUpdater {
	u.fields[string(ConnectionDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ConnectionQuerySet

// ===== BEGIN of Connection modifiers

// ConnectionDBSchemaField describes database schema field. It requires for method 'Update'
type ConnectionDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ConnectionDBSchemaField) String() string {
	return string(f)
}

// ConnectionDBSchema stores db field names of Connection
var ConnectionDBSchema = struct {
	ID            ConnectionDBSchemaField
	CreatedAt     ConnectionDBSchemaField
	UpdatedAt     ConnectionDBSchemaField
	ClusterID     ConnectionDBSchemaField
	Cluster       ConnectionDBSchemaField
	Type          ConnectionDBSchemaField
	DSN           ConnectionDBSchemaField
	CreateSuccess ConnectionDBSchemaField
}{

	ID:            ConnectionDBSchemaField("id"),
	CreatedAt:     ConnectionDBSchemaField("created_at"),
	UpdatedAt:     ConnectionDBSchemaField("updated_at"),
	ClusterID:     ConnectionDBSchemaField("cluster_id"),
	Cluster:       ConnectionDBSchemaField("cluster"),
	Type:          ConnectionDBSchemaField("type"),
	DSN:           ConnectionDBSchemaField("dsn"),
	CreateSuccess: ConnectionDBSchemaField("create_success"),
}

// Update updates Connection fields by primary key
// nolint: dupl
func (o *Connection) Update(db *gorm.DB, fields ...ConnectionDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":             o.ID,
		"created_at":     o.CreatedAt,
		"updated_at":     o.UpdatedAt,
		"cluster_id":     o.ClusterID,
		"cluster":        o.Cluster,
		"type":           o.Type,
		"dsn":            o.DSN,
		"create_success": o.CreateSuccess,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Connection %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ConnectionUpdater is an Connection updates manager
type ConnectionUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewConnectionUpdater creates new Connection updater
// nolint: dupl
func NewConnectionUpdater(db *gorm.DB) ConnectionUpdater {
	return ConnectionUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Connection{}),
	}
}

// ===== END of Connection modifiers

// ===== BEGIN of query set DiscountQuerySet

// DiscountQuerySet is an queryset type for Discount
type DiscountQuerySet struct {
	db *gorm.DB
}

// NewDiscountQuerySet constructs new DiscountQuerySet
func NewDiscountQuerySet(db *gorm.DB) DiscountQuerySet {
	return DiscountQuerySet{
		db: db.Model(&Discount{}),
	}
}

func (qs DiscountQuerySet) w(db *gorm.DB) DiscountQuerySet {
	return NewDiscountQuerySet(db)
}

func (qs DiscountQuerySet) Select(fields ...DiscountDBSchemaField) DiscountQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Discount) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Discount) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) All(ret *[]Discount) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) CreatedAtEq(createdAt time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) CreatedAtGt(createdAt time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) CreatedAtGte(createdAt time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) CreatedAtLt(createdAt time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) CreatedAtLte(createdAt time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) CreatedAtNe(createdAt time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) Delete() error {
	return qs.db.Delete(&Discount{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Discount{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Discount{})
	return db.RowsAffected, db.Error
}

// DescriptionEq is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DescriptionEq(description string) DiscountQuerySet {
	return qs.w(qs.db.Where("description = ?", description))
}

// DescriptionGt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DescriptionGt(description string) DiscountQuerySet {
	return qs.w(qs.db.Where("description > ?", description))
}

// DescriptionGte is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DescriptionGte(description string) DiscountQuerySet {
	return qs.w(qs.db.Where("description >= ?", description))
}

// DescriptionIn is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DescriptionIn(description ...string) DiscountQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description IN (?)", description))
}

// DescriptionLike is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DescriptionLike(description string) DiscountQuerySet {
	return qs.w(qs.db.Where("description LIKE ?", description))
}

// DescriptionLt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DescriptionLt(description string) DiscountQuerySet {
	return qs.w(qs.db.Where("description < ?", description))
}

// DescriptionLte is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DescriptionLte(description string) DiscountQuerySet {
	return qs.w(qs.db.Where("description <= ?", description))
}

// DescriptionNe is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DescriptionNe(description string) DiscountQuerySet {
	return qs.w(qs.db.Where("description != ?", description))
}

// DescriptionNotIn is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DescriptionNotIn(description ...string) DiscountQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description NOT IN (?)", description))
}

// DescriptionNotlike is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DescriptionNotlike(description string) DiscountQuerySet {
	return qs.w(qs.db.Where("description NOT LIKE ?", description))
}

// DiscountEq is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DiscountEq(discount float64) DiscountQuerySet {
	return qs.w(qs.db.Where("discount = ?", discount))
}

// DiscountGt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DiscountGt(discount float64) DiscountQuerySet {
	return qs.w(qs.db.Where("discount > ?", discount))
}

// DiscountGte is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DiscountGte(discount float64) DiscountQuerySet {
	return qs.w(qs.db.Where("discount >= ?", discount))
}

// DiscountIn is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DiscountIn(discount ...float64) DiscountQuerySet {
	if len(discount) == 0 {
		qs.db.AddError(errors.New("must at least pass one discount in DiscountIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("discount IN (?)", discount))
}

// DiscountLt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DiscountLt(discount float64) DiscountQuerySet {
	return qs.w(qs.db.Where("discount < ?", discount))
}

// DiscountLte is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DiscountLte(discount float64) DiscountQuerySet {
	return qs.w(qs.db.Where("discount <= ?", discount))
}

// DiscountNe is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DiscountNe(discount float64) DiscountQuerySet {
	return qs.w(qs.db.Where("discount != ?", discount))
}

// DiscountNotIn is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DiscountNotIn(discount ...float64) DiscountQuerySet {
	if len(discount) == 0 {
		qs.db.AddError(errors.New("must at least pass one discount in DiscountNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("discount NOT IN (?)", discount))
}

// DiscountTypeEq is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DiscountTypeEq(discountType DiscountType) DiscountQuerySet {
	return qs.w(qs.db.Where("discount_type = ?", discountType))
}

// DiscountTypeGt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DiscountTypeGt(discountType DiscountType) DiscountQuerySet {
	return qs.w(qs.db.Where("discount_type > ?", discountType))
}

// DiscountTypeGte is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DiscountTypeGte(discountType DiscountType) DiscountQuerySet {
	return qs.w(qs.db.Where("discount_type >= ?", discountType))
}

// DiscountTypeIn is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DiscountTypeIn(discountType ...DiscountType) DiscountQuerySet {
	if len(discountType) == 0 {
		qs.db.AddError(errors.New("must at least pass one discountType in DiscountTypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("discount_type IN (?)", discountType))
}

// DiscountTypeLt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DiscountTypeLt(discountType DiscountType) DiscountQuerySet {
	return qs.w(qs.db.Where("discount_type < ?", discountType))
}

// DiscountTypeLte is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DiscountTypeLte(discountType DiscountType) DiscountQuerySet {
	return qs.w(qs.db.Where("discount_type <= ?", discountType))
}

// DiscountTypeNe is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DiscountTypeNe(discountType DiscountType) DiscountQuerySet {
	return qs.w(qs.db.Where("discount_type != ?", discountType))
}

// DiscountTypeNotIn is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) DiscountTypeNotIn(discountType ...DiscountType) DiscountQuerySet {
	if len(discountType) == 0 {
		qs.db.AddError(errors.New("must at least pass one discountType in DiscountTypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("discount_type NOT IN (?)", discountType))
}

// EndTimeEq is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) EndTimeEq(endTime time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("end_time = ?", endTime))
}

// EndTimeGt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) EndTimeGt(endTime time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("end_time > ?", endTime))
}

// EndTimeGte is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) EndTimeGte(endTime time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("end_time >= ?", endTime))
}

// EndTimeLt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) EndTimeLt(endTime time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("end_time < ?", endTime))
}

// EndTimeLte is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) EndTimeLte(endTime time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("end_time <= ?", endTime))
}

// EndTimeNe is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) EndTimeNe(endTime time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("end_time != ?", endTime))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) GetUpdater() DiscountUpdater {
	return NewDiscountUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) IDEq(ID ID) DiscountQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) IDGt(ID ID) DiscountQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) IDGte(ID ID) DiscountQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) IDIn(ID ...ID) DiscountQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) IDLt(ID ID) DiscountQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) IDLte(ID ID) DiscountQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) IDNe(ID ID) DiscountQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) IDNotIn(ID ...ID) DiscountQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) Limit(limit int) DiscountQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) Offset(offset int) DiscountQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs DiscountQuerySet) One(ret *Discount) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) OrderAscByCreatedAt() DiscountQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDescription is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) OrderAscByDescription() DiscountQuerySet {
	return qs.w(qs.db.Order("description ASC"))
}

// OrderAscByDiscount is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) OrderAscByDiscount() DiscountQuerySet {
	return qs.w(qs.db.Order("discount ASC"))
}

// OrderAscByDiscountType is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) OrderAscByDiscountType() DiscountQuerySet {
	return qs.w(qs.db.Order("discount_type ASC"))
}

// OrderAscByEndTime is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) OrderAscByEndTime() DiscountQuerySet {
	return qs.w(qs.db.Order("end_time ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) OrderAscByID() DiscountQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByStartTime is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) OrderAscByStartTime() DiscountQuerySet {
	return qs.w(qs.db.Order("start_time ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) OrderAscByTenantID() DiscountQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) OrderDescByCreatedAt() DiscountQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDescription is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) OrderDescByDescription() DiscountQuerySet {
	return qs.w(qs.db.Order("description DESC"))
}

// OrderDescByDiscount is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) OrderDescByDiscount() DiscountQuerySet {
	return qs.w(qs.db.Order("discount DESC"))
}

// OrderDescByDiscountType is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) OrderDescByDiscountType() DiscountQuerySet {
	return qs.w(qs.db.Order("discount_type DESC"))
}

// OrderDescByEndTime is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) OrderDescByEndTime() DiscountQuerySet {
	return qs.w(qs.db.Order("end_time DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) OrderDescByID() DiscountQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByStartTime is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) OrderDescByStartTime() DiscountQuerySet {
	return qs.w(qs.db.Order("start_time DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) OrderDescByTenantID() DiscountQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// PreloadTenant is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) PreloadTenant() DiscountQuerySet {
	return qs.w(qs.db.Preload("Tenant"))
}

// StartTimeEq is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) StartTimeEq(startTime time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("start_time = ?", startTime))
}

// StartTimeGt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) StartTimeGt(startTime time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("start_time > ?", startTime))
}

// StartTimeGte is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) StartTimeGte(startTime time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("start_time >= ?", startTime))
}

// StartTimeLt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) StartTimeLt(startTime time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("start_time < ?", startTime))
}

// StartTimeLte is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) StartTimeLte(startTime time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("start_time <= ?", startTime))
}

// StartTimeNe is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) StartTimeNe(startTime time.Time) DiscountQuerySet {
	return qs.w(qs.db.Where("start_time != ?", startTime))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) TenantIDEq(tenantID ID) DiscountQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) TenantIDGt(tenantID ID) DiscountQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) TenantIDGte(tenantID ID) DiscountQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) TenantIDIn(tenantID ...ID) DiscountQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) TenantIDLt(tenantID ID) DiscountQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) TenantIDLte(tenantID ID) DiscountQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) TenantIDNe(tenantID ID) DiscountQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) TenantIDNotIn(tenantID ...ID) DiscountQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// TenantIsNotNull is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) TenantIsNotNull() DiscountQuerySet {
	return qs.w(qs.db.Where("tenant IS NOT NULL"))
}

// TenantIsNull is an autogenerated method
// nolint: dupl
func (qs DiscountQuerySet) TenantIsNull() DiscountQuerySet {
	return qs.w(qs.db.Where("tenant IS NULL"))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u DiscountUpdater) SetCreatedAt(createdAt time.Time) DiscountUpdater {
	u.fields[string(DiscountDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDescription is an autogenerated method
// nolint: dupl
func (u DiscountUpdater) SetDescription(description string) DiscountUpdater {
	u.fields[string(DiscountDBSchema.Description)] = description
	return u
}

// SetDiscount is an autogenerated method
// nolint: dupl
func (u DiscountUpdater) SetDiscount(discount float64) DiscountUpdater {
	u.fields[string(DiscountDBSchema.Discount)] = discount
	return u
}

// SetDiscountType is an autogenerated method
// nolint: dupl
func (u DiscountUpdater) SetDiscountType(discountType DiscountType) DiscountUpdater {
	u.fields[string(DiscountDBSchema.DiscountType)] = discountType
	return u
}

// SetEndTime is an autogenerated method
// nolint: dupl
func (u DiscountUpdater) SetEndTime(endTime time.Time) DiscountUpdater {
	u.fields[string(DiscountDBSchema.EndTime)] = endTime
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u DiscountUpdater) SetID(ID ID) DiscountUpdater {
	u.fields[string(DiscountDBSchema.ID)] = ID
	return u
}

// SetStartTime is an autogenerated method
// nolint: dupl
func (u DiscountUpdater) SetStartTime(startTime time.Time) DiscountUpdater {
	u.fields[string(DiscountDBSchema.StartTime)] = startTime
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u DiscountUpdater) SetTenantID(tenantID ID) DiscountUpdater {
	u.fields[string(DiscountDBSchema.TenantID)] = tenantID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u DiscountUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u DiscountUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set DiscountQuerySet

// ===== BEGIN of Discount modifiers

// DiscountDBSchemaField describes database schema field. It requires for method 'Update'
type DiscountDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f DiscountDBSchemaField) String() string {
	return string(f)
}

// DiscountDBSchema stores db field names of Discount
var DiscountDBSchema = struct {
	ID           DiscountDBSchemaField
	CreatedAt    DiscountDBSchemaField
	TenantID     DiscountDBSchemaField
	Tenant       DiscountDBSchemaField
	Discount     DiscountDBSchemaField
	Description  DiscountDBSchemaField
	DiscountType DiscountDBSchemaField
	StartTime    DiscountDBSchemaField
	EndTime      DiscountDBSchemaField
}{

	ID:           DiscountDBSchemaField("id"),
	CreatedAt:    DiscountDBSchemaField("created_at"),
	TenantID:     DiscountDBSchemaField("tenant_id"),
	Tenant:       DiscountDBSchemaField("tenant"),
	Discount:     DiscountDBSchemaField("discount"),
	Description:  DiscountDBSchemaField("description"),
	DiscountType: DiscountDBSchemaField("discount_type"),
	StartTime:    DiscountDBSchemaField("start_time"),
	EndTime:      DiscountDBSchemaField("end_time"),
}

// Update updates Discount fields by primary key
// nolint: dupl
func (o *Discount) Update(db *gorm.DB, fields ...DiscountDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":            o.ID,
		"created_at":    o.CreatedAt,
		"tenant_id":     o.TenantID,
		"tenant":        o.Tenant,
		"discount":      o.Discount,
		"description":   o.Description,
		"discount_type": o.DiscountType,
		"start_time":    o.StartTime,
		"end_time":      o.EndTime,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Discount %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// DiscountUpdater is an Discount updates manager
type DiscountUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewDiscountUpdater creates new Discount updater
// nolint: dupl
func NewDiscountUpdater(db *gorm.DB) DiscountUpdater {
	return DiscountUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Discount{}),
	}
}

// ===== END of Discount modifiers

// ===== BEGIN of query set DiskProfileQuerySet

// DiskProfileQuerySet is an queryset type for DiskProfile
type DiskProfileQuerySet struct {
	db *gorm.DB
}

// NewDiskProfileQuerySet constructs new DiskProfileQuerySet
func NewDiskProfileQuerySet(db *gorm.DB) DiskProfileQuerySet {
	return DiskProfileQuerySet{
		db: db.Model(&DiskProfile{}),
	}
}

func (qs DiskProfileQuerySet) w(db *gorm.DB) DiskProfileQuerySet {
	return NewDiskProfileQuerySet(db)
}

func (qs DiskProfileQuerySet) Select(fields ...DiskProfileDBSchemaField) DiskProfileQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *DiskProfile) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *DiskProfile) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) All(ret *[]DiskProfile) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) CreatedAtEq(createdAt time.Time) DiskProfileQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) CreatedAtGt(createdAt time.Time) DiskProfileQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) CreatedAtGte(createdAt time.Time) DiskProfileQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) CreatedAtLt(createdAt time.Time) DiskProfileQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) CreatedAtLte(createdAt time.Time) DiskProfileQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) CreatedAtNe(createdAt time.Time) DiskProfileQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) Delete() error {
	return qs.db.Delete(&DiskProfile{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&DiskProfile{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&DiskProfile{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) GetUpdater() DiskProfileUpdater {
	return NewDiskProfileUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) IDEq(ID ID) DiskProfileQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) IDGt(ID ID) DiskProfileQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) IDGte(ID ID) DiskProfileQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) IDIn(ID ...ID) DiskProfileQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) IDLt(ID ID) DiskProfileQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) IDLte(ID ID) DiskProfileQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) IDNe(ID ID) DiskProfileQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) IDNotIn(ID ...ID) DiskProfileQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) Limit(limit int) DiskProfileQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) Offset(offset int) DiskProfileQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs DiskProfileQuerySet) One(ret *DiskProfile) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) OrderAscByCreatedAt() DiskProfileQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) OrderAscByID() DiskProfileQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByType is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) OrderAscByType() DiskProfileQuerySet {
	return qs.w(qs.db.Order("type ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) OrderAscByUpdatedAt() DiskProfileQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) OrderDescByCreatedAt() DiskProfileQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) OrderDescByID() DiskProfileQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByType is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) OrderDescByType() DiskProfileQuerySet {
	return qs.w(qs.db.Order("type DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) OrderDescByUpdatedAt() DiskProfileQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// TypeEq is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) TypeEq(typeValue capacity.DiskType) DiskProfileQuerySet {
	return qs.w(qs.db.Where("type = ?", typeValue))
}

// TypeGt is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) TypeGt(typeValue capacity.DiskType) DiskProfileQuerySet {
	return qs.w(qs.db.Where("type > ?", typeValue))
}

// TypeGte is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) TypeGte(typeValue capacity.DiskType) DiskProfileQuerySet {
	return qs.w(qs.db.Where("type >= ?", typeValue))
}

// TypeIn is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) TypeIn(typeValue ...capacity.DiskType) DiskProfileQuerySet {
	if len(typeValue) == 0 {
		qs.db.AddError(errors.New("must at least pass one typeValue in TypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("type IN (?)", typeValue))
}

// TypeLike is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) TypeLike(typeValue capacity.DiskType) DiskProfileQuerySet {
	return qs.w(qs.db.Where("type LIKE ?", typeValue))
}

// TypeLt is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) TypeLt(typeValue capacity.DiskType) DiskProfileQuerySet {
	return qs.w(qs.db.Where("type < ?", typeValue))
}

// TypeLte is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) TypeLte(typeValue capacity.DiskType) DiskProfileQuerySet {
	return qs.w(qs.db.Where("type <= ?", typeValue))
}

// TypeNe is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) TypeNe(typeValue capacity.DiskType) DiskProfileQuerySet {
	return qs.w(qs.db.Where("type != ?", typeValue))
}

// TypeNotIn is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) TypeNotIn(typeValue ...capacity.DiskType) DiskProfileQuerySet {
	if len(typeValue) == 0 {
		qs.db.AddError(errors.New("must at least pass one typeValue in TypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("type NOT IN (?)", typeValue))
}

// TypeNotlike is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) TypeNotlike(typeValue capacity.DiskType) DiskProfileQuerySet {
	return qs.w(qs.db.Where("type NOT LIKE ?", typeValue))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) UpdatedAtEq(updatedAt time.Time) DiskProfileQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) UpdatedAtGt(updatedAt time.Time) DiskProfileQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) UpdatedAtGte(updatedAt time.Time) DiskProfileQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) UpdatedAtIsNotNull() DiskProfileQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) UpdatedAtIsNull() DiskProfileQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) UpdatedAtLt(updatedAt time.Time) DiskProfileQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) UpdatedAtLte(updatedAt time.Time) DiskProfileQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs DiskProfileQuerySet) UpdatedAtNe(updatedAt time.Time) DiskProfileQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u DiskProfileUpdater) SetCreatedAt(createdAt time.Time) DiskProfileUpdater {
	u.fields[string(DiskProfileDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u DiskProfileUpdater) SetID(ID ID) DiskProfileUpdater {
	u.fields[string(DiskProfileDBSchema.ID)] = ID
	return u
}

// SetType is an autogenerated method
// nolint: dupl
func (u DiskProfileUpdater) SetType(typeValue capacity.DiskType) DiskProfileUpdater {
	u.fields[string(DiskProfileDBSchema.Type)] = typeValue
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u DiskProfileUpdater) SetUpdatedAt(updatedAt *time.Time) DiskProfileUpdater {
	u.fields[string(DiskProfileDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u DiskProfileUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u DiskProfileUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set DiskProfileQuerySet

// ===== BEGIN of DiskProfile modifiers

// DiskProfileDBSchemaField describes database schema field. It requires for method 'Update'
type DiskProfileDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f DiskProfileDBSchemaField) String() string {
	return string(f)
}

// DiskProfileDBSchema stores db field names of DiskProfile
var DiskProfileDBSchema = struct {
	ID        DiskProfileDBSchemaField
	CreatedAt DiskProfileDBSchemaField
	UpdatedAt DiskProfileDBSchemaField
	Type      DiskProfileDBSchemaField
}{

	ID:        DiskProfileDBSchemaField("id"),
	CreatedAt: DiskProfileDBSchemaField("created_at"),
	UpdatedAt: DiskProfileDBSchemaField("updated_at"),
	Type:      DiskProfileDBSchemaField("type"),
}

// Update updates DiskProfile fields by primary key
// nolint: dupl
func (o *DiskProfile) Update(db *gorm.DB, fields ...DiskProfileDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"updated_at": o.UpdatedAt,
		"type":       o.Type,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update DiskProfile %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// DiskProfileUpdater is an DiskProfile updates manager
type DiskProfileUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewDiskProfileUpdater creates new DiskProfile updater
// nolint: dupl
func NewDiskProfileUpdater(db *gorm.DB) DiskProfileUpdater {
	return DiskProfileUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&DiskProfile{}),
	}
}

// ===== END of DiskProfile modifiers

// ===== BEGIN of query set DiskQuerySet

// DiskQuerySet is an queryset type for Disk
type DiskQuerySet struct {
	db *gorm.DB
}

// NewDiskQuerySet constructs new DiskQuerySet
func NewDiskQuerySet(db *gorm.DB) DiskQuerySet {
	return DiskQuerySet{
		db: db.Model(&Disk{}),
	}
}

func (qs DiskQuerySet) w(db *gorm.DB) DiskQuerySet {
	return NewDiskQuerySet(db)
}

func (qs DiskQuerySet) Select(fields ...DiskDBSchemaField) DiskQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Disk) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Disk) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) All(ret *[]Disk) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) CreatedAtEq(createdAt time.Time) DiskQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) CreatedAtGt(createdAt time.Time) DiskQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) CreatedAtGte(createdAt time.Time) DiskQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) CreatedAtLt(createdAt time.Time) DiskQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) CreatedAtLte(createdAt time.Time) DiskQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) CreatedAtNe(createdAt time.Time) DiskQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) Delete() error {
	return qs.db.Delete(&Disk{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Disk{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Disk{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) GetUpdater() DiskUpdater {
	return NewDiskUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) IDEq(ID ID) DiskQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) IDGt(ID ID) DiskQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) IDGte(ID ID) DiskQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) IDIn(ID ...ID) DiskQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) IDLt(ID ID) DiskQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) IDLte(ID ID) DiskQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) IDNe(ID ID) DiskQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) IDNotIn(ID ...ID) DiskQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// InstanceIDEq is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) InstanceIDEq(instanceID string) DiskQuerySet {
	return qs.w(qs.db.Where("instance_id = ?", instanceID))
}

// InstanceIDGt is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) InstanceIDGt(instanceID string) DiskQuerySet {
	return qs.w(qs.db.Where("instance_id > ?", instanceID))
}

// InstanceIDGte is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) InstanceIDGte(instanceID string) DiskQuerySet {
	return qs.w(qs.db.Where("instance_id >= ?", instanceID))
}

// InstanceIDIn is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) InstanceIDIn(instanceID ...string) DiskQuerySet {
	if len(instanceID) == 0 {
		qs.db.AddError(errors.New("must at least pass one instanceID in InstanceIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("instance_id IN (?)", instanceID))
}

// InstanceIDLike is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) InstanceIDLike(instanceID string) DiskQuerySet {
	return qs.w(qs.db.Where("instance_id LIKE ?", instanceID))
}

// InstanceIDLt is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) InstanceIDLt(instanceID string) DiskQuerySet {
	return qs.w(qs.db.Where("instance_id < ?", instanceID))
}

// InstanceIDLte is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) InstanceIDLte(instanceID string) DiskQuerySet {
	return qs.w(qs.db.Where("instance_id <= ?", instanceID))
}

// InstanceIDNe is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) InstanceIDNe(instanceID string) DiskQuerySet {
	return qs.w(qs.db.Where("instance_id != ?", instanceID))
}

// InstanceIDNotIn is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) InstanceIDNotIn(instanceID ...string) DiskQuerySet {
	if len(instanceID) == 0 {
		qs.db.AddError(errors.New("must at least pass one instanceID in InstanceIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("instance_id NOT IN (?)", instanceID))
}

// InstanceIDNotlike is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) InstanceIDNotlike(instanceID string) DiskQuerySet {
	return qs.w(qs.db.Where("instance_id NOT LIKE ?", instanceID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) Limit(limit int) DiskQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// MachineIDEq is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) MachineIDEq(machineID ID) DiskQuerySet {
	return qs.w(qs.db.Where("machine_id = ?", machineID))
}

// MachineIDGt is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) MachineIDGt(machineID ID) DiskQuerySet {
	return qs.w(qs.db.Where("machine_id > ?", machineID))
}

// MachineIDGte is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) MachineIDGte(machineID ID) DiskQuerySet {
	return qs.w(qs.db.Where("machine_id >= ?", machineID))
}

// MachineIDIn is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) MachineIDIn(machineID ...ID) DiskQuerySet {
	if len(machineID) == 0 {
		qs.db.AddError(errors.New("must at least pass one machineID in MachineIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("machine_id IN (?)", machineID))
}

// MachineIDLt is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) MachineIDLt(machineID ID) DiskQuerySet {
	return qs.w(qs.db.Where("machine_id < ?", machineID))
}

// MachineIDLte is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) MachineIDLte(machineID ID) DiskQuerySet {
	return qs.w(qs.db.Where("machine_id <= ?", machineID))
}

// MachineIDNe is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) MachineIDNe(machineID ID) DiskQuerySet {
	return qs.w(qs.db.Where("machine_id != ?", machineID))
}

// MachineIDNotIn is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) MachineIDNotIn(machineID ...ID) DiskQuerySet {
	if len(machineID) == 0 {
		qs.db.AddError(errors.New("must at least pass one machineID in MachineIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("machine_id NOT IN (?)", machineID))
}

// MachineIsNotNull is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) MachineIsNotNull() DiskQuerySet {
	return qs.w(qs.db.Where("machine IS NOT NULL"))
}

// MachineIsNull is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) MachineIsNull() DiskQuerySet {
	return qs.w(qs.db.Where("machine IS NULL"))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) Offset(offset int) DiskQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs DiskQuerySet) One(ret *Disk) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) OrderAscByCreatedAt() DiskQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) OrderAscByID() DiskQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByInstanceID is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) OrderAscByInstanceID() DiskQuerySet {
	return qs.w(qs.db.Order("instance_id ASC"))
}

// OrderAscByMachineID is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) OrderAscByMachineID() DiskQuerySet {
	return qs.w(qs.db.Order("machine_id ASC"))
}

// OrderAscByRegionDiskID is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) OrderAscByRegionDiskID() DiskQuerySet {
	return qs.w(qs.db.Order("region_disk_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) OrderAscByUpdatedAt() DiskQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) OrderDescByCreatedAt() DiskQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) OrderDescByID() DiskQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByInstanceID is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) OrderDescByInstanceID() DiskQuerySet {
	return qs.w(qs.db.Order("instance_id DESC"))
}

// OrderDescByMachineID is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) OrderDescByMachineID() DiskQuerySet {
	return qs.w(qs.db.Order("machine_id DESC"))
}

// OrderDescByRegionDiskID is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) OrderDescByRegionDiskID() DiskQuerySet {
	return qs.w(qs.db.Order("region_disk_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) OrderDescByUpdatedAt() DiskQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadMachine is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) PreloadMachine() DiskQuerySet {
	return qs.w(qs.db.Preload("Machine"))
}

// PreloadRegionDisk is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) PreloadRegionDisk() DiskQuerySet {
	return qs.w(qs.db.Preload("RegionDisk"))
}

// RegionDiskIDEq is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) RegionDiskIDEq(regionDiskID ID) DiskQuerySet {
	return qs.w(qs.db.Where("region_disk_id = ?", regionDiskID))
}

// RegionDiskIDGt is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) RegionDiskIDGt(regionDiskID ID) DiskQuerySet {
	return qs.w(qs.db.Where("region_disk_id > ?", regionDiskID))
}

// RegionDiskIDGte is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) RegionDiskIDGte(regionDiskID ID) DiskQuerySet {
	return qs.w(qs.db.Where("region_disk_id >= ?", regionDiskID))
}

// RegionDiskIDIn is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) RegionDiskIDIn(regionDiskID ...ID) DiskQuerySet {
	if len(regionDiskID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionDiskID in RegionDiskIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_disk_id IN (?)", regionDiskID))
}

// RegionDiskIDLt is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) RegionDiskIDLt(regionDiskID ID) DiskQuerySet {
	return qs.w(qs.db.Where("region_disk_id < ?", regionDiskID))
}

// RegionDiskIDLte is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) RegionDiskIDLte(regionDiskID ID) DiskQuerySet {
	return qs.w(qs.db.Where("region_disk_id <= ?", regionDiskID))
}

// RegionDiskIDNe is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) RegionDiskIDNe(regionDiskID ID) DiskQuerySet {
	return qs.w(qs.db.Where("region_disk_id != ?", regionDiskID))
}

// RegionDiskIDNotIn is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) RegionDiskIDNotIn(regionDiskID ...ID) DiskQuerySet {
	if len(regionDiskID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionDiskID in RegionDiskIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_disk_id NOT IN (?)", regionDiskID))
}

// RegionDiskIsNotNull is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) RegionDiskIsNotNull() DiskQuerySet {
	return qs.w(qs.db.Where("region_disk IS NOT NULL"))
}

// RegionDiskIsNull is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) RegionDiskIsNull() DiskQuerySet {
	return qs.w(qs.db.Where("region_disk IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) UpdatedAtEq(updatedAt time.Time) DiskQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) UpdatedAtGt(updatedAt time.Time) DiskQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) UpdatedAtGte(updatedAt time.Time) DiskQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) UpdatedAtIsNotNull() DiskQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) UpdatedAtIsNull() DiskQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) UpdatedAtLt(updatedAt time.Time) DiskQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) UpdatedAtLte(updatedAt time.Time) DiskQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs DiskQuerySet) UpdatedAtNe(updatedAt time.Time) DiskQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u DiskUpdater) SetCreatedAt(createdAt time.Time) DiskUpdater {
	u.fields[string(DiskDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u DiskUpdater) SetID(ID ID) DiskUpdater {
	u.fields[string(DiskDBSchema.ID)] = ID
	return u
}

// SetInstanceID is an autogenerated method
// nolint: dupl
func (u DiskUpdater) SetInstanceID(instanceID string) DiskUpdater {
	u.fields[string(DiskDBSchema.InstanceID)] = instanceID
	return u
}

// SetMachineID is an autogenerated method
// nolint: dupl
func (u DiskUpdater) SetMachineID(machineID ID) DiskUpdater {
	u.fields[string(DiskDBSchema.MachineID)] = machineID
	return u
}

// SetRegionDiskID is an autogenerated method
// nolint: dupl
func (u DiskUpdater) SetRegionDiskID(regionDiskID ID) DiskUpdater {
	u.fields[string(DiskDBSchema.RegionDiskID)] = regionDiskID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u DiskUpdater) SetUpdatedAt(updatedAt *time.Time) DiskUpdater {
	u.fields[string(DiskDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u DiskUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u DiskUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set DiskQuerySet

// ===== BEGIN of Disk modifiers

// DiskDBSchemaField describes database schema field. It requires for method 'Update'
type DiskDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f DiskDBSchemaField) String() string {
	return string(f)
}

// DiskDBSchema stores db field names of Disk
var DiskDBSchema = struct {
	ID           DiskDBSchemaField
	CreatedAt    DiskDBSchemaField
	UpdatedAt    DiskDBSchemaField
	MachineID    DiskDBSchemaField
	Machine      DiskDBSchemaField
	InstanceID   DiskDBSchemaField
	RegionDiskID DiskDBSchemaField
	RegionDisk   DiskDBSchemaField
}{

	ID:           DiskDBSchemaField("id"),
	CreatedAt:    DiskDBSchemaField("created_at"),
	UpdatedAt:    DiskDBSchemaField("updated_at"),
	MachineID:    DiskDBSchemaField("machine_id"),
	Machine:      DiskDBSchemaField("machine"),
	InstanceID:   DiskDBSchemaField("instance_id"),
	RegionDiskID: DiskDBSchemaField("region_disk_id"),
	RegionDisk:   DiskDBSchemaField("region_disk"),
}

// Update updates Disk fields by primary key
// nolint: dupl
func (o *Disk) Update(db *gorm.DB, fields ...DiskDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":             o.ID,
		"created_at":     o.CreatedAt,
		"updated_at":     o.UpdatedAt,
		"machine_id":     o.MachineID,
		"machine":        o.Machine,
		"instance_id":    o.InstanceID,
		"region_disk_id": o.RegionDiskID,
		"region_disk":    o.RegionDisk,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Disk %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// DiskUpdater is an Disk updates manager
type DiskUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewDiskUpdater creates new Disk updater
// nolint: dupl
func NewDiskUpdater(db *gorm.DB) DiskUpdater {
	return DiskUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Disk{}),
	}
}

// ===== END of Disk modifiers

// ===== BEGIN of query set EmailProviderBlocklistQuerySet

// EmailProviderBlocklistQuerySet is an queryset type for EmailProviderBlocklist
type EmailProviderBlocklistQuerySet struct {
	db *gorm.DB
}

// NewEmailProviderBlocklistQuerySet constructs new EmailProviderBlocklistQuerySet
func NewEmailProviderBlocklistQuerySet(db *gorm.DB) EmailProviderBlocklistQuerySet {
	return EmailProviderBlocklistQuerySet{
		db: db.Model(&EmailProviderBlocklist{}),
	}
}

func (qs EmailProviderBlocklistQuerySet) w(db *gorm.DB) EmailProviderBlocklistQuerySet {
	return NewEmailProviderBlocklistQuerySet(db)
}

func (qs EmailProviderBlocklistQuerySet) Select(fields ...EmailProviderBlocklistDBSchemaField) EmailProviderBlocklistQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *EmailProviderBlocklist) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *EmailProviderBlocklist) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) All(ret *[]EmailProviderBlocklist) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) CreatedAtEq(createdAt time.Time) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) CreatedAtGt(createdAt time.Time) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) CreatedAtGte(createdAt time.Time) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) CreatedAtLt(createdAt time.Time) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) CreatedAtLte(createdAt time.Time) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) CreatedAtNe(createdAt time.Time) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) Delete() error {
	return qs.db.Delete(&EmailProviderBlocklist{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&EmailProviderBlocklist{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&EmailProviderBlocklist{})
	return db.RowsAffected, db.Error
}

// EmailEq is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) EmailEq(email string) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("email = ?", email))
}

// EmailGt is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) EmailGt(email string) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("email > ?", email))
}

// EmailGte is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) EmailGte(email string) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("email >= ?", email))
}

// EmailIn is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) EmailIn(email ...string) EmailProviderBlocklistQuerySet {
	if len(email) == 0 {
		qs.db.AddError(errors.New("must at least pass one email in EmailIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("email IN (?)", email))
}

// EmailLike is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) EmailLike(email string) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("email LIKE ?", email))
}

// EmailLt is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) EmailLt(email string) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("email < ?", email))
}

// EmailLte is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) EmailLte(email string) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("email <= ?", email))
}

// EmailNe is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) EmailNe(email string) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("email != ?", email))
}

// EmailNotIn is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) EmailNotIn(email ...string) EmailProviderBlocklistQuerySet {
	if len(email) == 0 {
		qs.db.AddError(errors.New("must at least pass one email in EmailNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("email NOT IN (?)", email))
}

// EmailNotlike is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) EmailNotlike(email string) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("email NOT LIKE ?", email))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) GetUpdater() EmailProviderBlocklistUpdater {
	return NewEmailProviderBlocklistUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) IDEq(ID ID) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) IDGt(ID ID) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) IDGte(ID ID) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) IDIn(ID ...ID) EmailProviderBlocklistQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) IDLt(ID ID) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) IDLte(ID ID) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) IDNe(ID ID) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) IDNotIn(ID ...ID) EmailProviderBlocklistQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) Limit(limit int) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) Offset(offset int) EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs EmailProviderBlocklistQuerySet) One(ret *EmailProviderBlocklist) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) OrderAscByCreatedAt() EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByEmail is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) OrderAscByEmail() EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Order("email ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) OrderAscByID() EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) OrderDescByCreatedAt() EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByEmail is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) OrderDescByEmail() EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Order("email DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs EmailProviderBlocklistQuerySet) OrderDescByID() EmailProviderBlocklistQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u EmailProviderBlocklistUpdater) SetCreatedAt(createdAt time.Time) EmailProviderBlocklistUpdater {
	u.fields[string(EmailProviderBlocklistDBSchema.CreatedAt)] = createdAt
	return u
}

// SetEmail is an autogenerated method
// nolint: dupl
func (u EmailProviderBlocklistUpdater) SetEmail(email string) EmailProviderBlocklistUpdater {
	u.fields[string(EmailProviderBlocklistDBSchema.Email)] = email
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u EmailProviderBlocklistUpdater) SetID(ID ID) EmailProviderBlocklistUpdater {
	u.fields[string(EmailProviderBlocklistDBSchema.ID)] = ID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u EmailProviderBlocklistUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u EmailProviderBlocklistUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set EmailProviderBlocklistQuerySet

// ===== BEGIN of EmailProviderBlocklist modifiers

// EmailProviderBlocklistDBSchemaField describes database schema field. It requires for method 'Update'
type EmailProviderBlocklistDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f EmailProviderBlocklistDBSchemaField) String() string {
	return string(f)
}

// EmailProviderBlocklistDBSchema stores db field names of EmailProviderBlocklist
var EmailProviderBlocklistDBSchema = struct {
	ID        EmailProviderBlocklistDBSchemaField
	CreatedAt EmailProviderBlocklistDBSchemaField
	Email     EmailProviderBlocklistDBSchemaField
}{

	ID:        EmailProviderBlocklistDBSchemaField("id"),
	CreatedAt: EmailProviderBlocklistDBSchemaField("created_at"),
	Email:     EmailProviderBlocklistDBSchemaField("email"),
}

// Update updates EmailProviderBlocklist fields by primary key
// nolint: dupl
func (o *EmailProviderBlocklist) Update(db *gorm.DB, fields ...EmailProviderBlocklistDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"email":      o.Email,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update EmailProviderBlocklist %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// EmailProviderBlocklistUpdater is an EmailProviderBlocklist updates manager
type EmailProviderBlocklistUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewEmailProviderBlocklistUpdater creates new EmailProviderBlocklist updater
// nolint: dupl
func NewEmailProviderBlocklistUpdater(db *gorm.DB) EmailProviderBlocklistUpdater {
	return EmailProviderBlocklistUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&EmailProviderBlocklist{}),
	}
}

// ===== END of EmailProviderBlocklist modifiers

// ===== BEGIN of query set EmailReminderQuerySet

// EmailReminderQuerySet is an queryset type for EmailReminder
type EmailReminderQuerySet struct {
	db *gorm.DB
}

// NewEmailReminderQuerySet constructs new EmailReminderQuerySet
func NewEmailReminderQuerySet(db *gorm.DB) EmailReminderQuerySet {
	return EmailReminderQuerySet{
		db: db.Model(&EmailReminder{}),
	}
}

func (qs EmailReminderQuerySet) w(db *gorm.DB) EmailReminderQuerySet {
	return NewEmailReminderQuerySet(db)
}

func (qs EmailReminderQuerySet) Select(fields ...EmailReminderDBSchemaField) EmailReminderQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *EmailReminder) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *EmailReminder) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) All(ret *[]EmailReminder) error {
	return qs.db.Find(ret).Error
}

// AmountEq is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) AmountEq(amount uint32) EmailReminderQuerySet {
	return qs.w(qs.db.Where("amount = ?", amount))
}

// AmountGt is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) AmountGt(amount uint32) EmailReminderQuerySet {
	return qs.w(qs.db.Where("amount > ?", amount))
}

// AmountGte is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) AmountGte(amount uint32) EmailReminderQuerySet {
	return qs.w(qs.db.Where("amount >= ?", amount))
}

// AmountIn is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) AmountIn(amount ...uint32) EmailReminderQuerySet {
	if len(amount) == 0 {
		qs.db.AddError(errors.New("must at least pass one amount in AmountIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("amount IN (?)", amount))
}

// AmountLt is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) AmountLt(amount uint32) EmailReminderQuerySet {
	return qs.w(qs.db.Where("amount < ?", amount))
}

// AmountLte is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) AmountLte(amount uint32) EmailReminderQuerySet {
	return qs.w(qs.db.Where("amount <= ?", amount))
}

// AmountNe is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) AmountNe(amount uint32) EmailReminderQuerySet {
	return qs.w(qs.db.Where("amount != ?", amount))
}

// AmountNotIn is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) AmountNotIn(amount ...uint32) EmailReminderQuerySet {
	if len(amount) == 0 {
		qs.db.AddError(errors.New("must at least pass one amount in AmountNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("amount NOT IN (?)", amount))
}

// Count is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) CreatedAtEq(createdAt time.Time) EmailReminderQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) CreatedAtGt(createdAt time.Time) EmailReminderQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) CreatedAtGte(createdAt time.Time) EmailReminderQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) CreatedAtLt(createdAt time.Time) EmailReminderQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) CreatedAtLte(createdAt time.Time) EmailReminderQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) CreatedAtNe(createdAt time.Time) EmailReminderQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) Delete() error {
	return qs.db.Delete(&EmailReminder{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&EmailReminder{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&EmailReminder{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) GetUpdater() EmailReminderUpdater {
	return NewEmailReminderUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) IDEq(ID ID) EmailReminderQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) IDGt(ID ID) EmailReminderQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) IDGte(ID ID) EmailReminderQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) IDIn(ID ...ID) EmailReminderQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) IDLt(ID ID) EmailReminderQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) IDLte(ID ID) EmailReminderQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) IDNe(ID ID) EmailReminderQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) IDNotIn(ID ...ID) EmailReminderQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) Limit(limit int) EmailReminderQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) Offset(offset int) EmailReminderQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs EmailReminderQuerySet) One(ret *EmailReminder) error {
	return qs.db.First(ret).Error
}

// OrderAscByAmount is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) OrderAscByAmount() EmailReminderQuerySet {
	return qs.w(qs.db.Order("amount ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) OrderAscByCreatedAt() EmailReminderQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) OrderAscByID() EmailReminderQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) OrderAscByTenantID() EmailReminderQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByType is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) OrderAscByType() EmailReminderQuerySet {
	return qs.w(qs.db.Order("type ASC"))
}

// OrderDescByAmount is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) OrderDescByAmount() EmailReminderQuerySet {
	return qs.w(qs.db.Order("amount DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) OrderDescByCreatedAt() EmailReminderQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) OrderDescByID() EmailReminderQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) OrderDescByTenantID() EmailReminderQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByType is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) OrderDescByType() EmailReminderQuerySet {
	return qs.w(qs.db.Order("type DESC"))
}

// PreloadTenant is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) PreloadTenant() EmailReminderQuerySet {
	return qs.w(qs.db.Preload("Tenant"))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TenantIDEq(tenantID ID) EmailReminderQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TenantIDGt(tenantID ID) EmailReminderQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TenantIDGte(tenantID ID) EmailReminderQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TenantIDIn(tenantID ...ID) EmailReminderQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TenantIDLt(tenantID ID) EmailReminderQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TenantIDLte(tenantID ID) EmailReminderQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TenantIDNe(tenantID ID) EmailReminderQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TenantIDNotIn(tenantID ...ID) EmailReminderQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// TenantIsNotNull is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TenantIsNotNull() EmailReminderQuerySet {
	return qs.w(qs.db.Where("tenant IS NOT NULL"))
}

// TenantIsNull is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TenantIsNull() EmailReminderQuerySet {
	return qs.w(qs.db.Where("tenant IS NULL"))
}

// TypeEq is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TypeEq(typeValue EmailReminderType) EmailReminderQuerySet {
	return qs.w(qs.db.Where("type = ?", typeValue))
}

// TypeGt is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TypeGt(typeValue EmailReminderType) EmailReminderQuerySet {
	return qs.w(qs.db.Where("type > ?", typeValue))
}

// TypeGte is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TypeGte(typeValue EmailReminderType) EmailReminderQuerySet {
	return qs.w(qs.db.Where("type >= ?", typeValue))
}

// TypeIn is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TypeIn(typeValue ...EmailReminderType) EmailReminderQuerySet {
	if len(typeValue) == 0 {
		qs.db.AddError(errors.New("must at least pass one typeValue in TypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("type IN (?)", typeValue))
}

// TypeLike is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TypeLike(typeValue EmailReminderType) EmailReminderQuerySet {
	return qs.w(qs.db.Where("type LIKE ?", typeValue))
}

// TypeLt is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TypeLt(typeValue EmailReminderType) EmailReminderQuerySet {
	return qs.w(qs.db.Where("type < ?", typeValue))
}

// TypeLte is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TypeLte(typeValue EmailReminderType) EmailReminderQuerySet {
	return qs.w(qs.db.Where("type <= ?", typeValue))
}

// TypeNe is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TypeNe(typeValue EmailReminderType) EmailReminderQuerySet {
	return qs.w(qs.db.Where("type != ?", typeValue))
}

// TypeNotIn is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TypeNotIn(typeValue ...EmailReminderType) EmailReminderQuerySet {
	if len(typeValue) == 0 {
		qs.db.AddError(errors.New("must at least pass one typeValue in TypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("type NOT IN (?)", typeValue))
}

// TypeNotlike is an autogenerated method
// nolint: dupl
func (qs EmailReminderQuerySet) TypeNotlike(typeValue EmailReminderType) EmailReminderQuerySet {
	return qs.w(qs.db.Where("type NOT LIKE ?", typeValue))
}

// SetAmount is an autogenerated method
// nolint: dupl
func (u EmailReminderUpdater) SetAmount(amount uint32) EmailReminderUpdater {
	u.fields[string(EmailReminderDBSchema.Amount)] = amount
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u EmailReminderUpdater) SetCreatedAt(createdAt time.Time) EmailReminderUpdater {
	u.fields[string(EmailReminderDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u EmailReminderUpdater) SetID(ID ID) EmailReminderUpdater {
	u.fields[string(EmailReminderDBSchema.ID)] = ID
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u EmailReminderUpdater) SetTenantID(tenantID ID) EmailReminderUpdater {
	u.fields[string(EmailReminderDBSchema.TenantID)] = tenantID
	return u
}

// SetType is an autogenerated method
// nolint: dupl
func (u EmailReminderUpdater) SetType(typeValue EmailReminderType) EmailReminderUpdater {
	u.fields[string(EmailReminderDBSchema.Type)] = typeValue
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u EmailReminderUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u EmailReminderUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set EmailReminderQuerySet

// ===== BEGIN of EmailReminder modifiers

// EmailReminderDBSchemaField describes database schema field. It requires for method 'Update'
type EmailReminderDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f EmailReminderDBSchemaField) String() string {
	return string(f)
}

// EmailReminderDBSchema stores db field names of EmailReminder
var EmailReminderDBSchema = struct {
	ID        EmailReminderDBSchemaField
	CreatedAt EmailReminderDBSchemaField
	TenantID  EmailReminderDBSchemaField
	Tenant    EmailReminderDBSchemaField
	Type      EmailReminderDBSchemaField
	Amount    EmailReminderDBSchemaField
}{

	ID:        EmailReminderDBSchemaField("id"),
	CreatedAt: EmailReminderDBSchemaField("created_at"),
	TenantID:  EmailReminderDBSchemaField("tenant_id"),
	Tenant:    EmailReminderDBSchemaField("tenant"),
	Type:      EmailReminderDBSchemaField("type"),
	Amount:    EmailReminderDBSchemaField("amount"),
}

// Update updates EmailReminder fields by primary key
// nolint: dupl
func (o *EmailReminder) Update(db *gorm.DB, fields ...EmailReminderDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"tenant_id":  o.TenantID,
		"tenant":     o.Tenant,
		"type":       o.Type,
		"amount":     o.Amount,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update EmailReminder %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// EmailReminderUpdater is an EmailReminder updates manager
type EmailReminderUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewEmailReminderUpdater creates new EmailReminder updater
// nolint: dupl
func NewEmailReminderUpdater(db *gorm.DB) EmailReminderUpdater {
	return EmailReminderUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&EmailReminder{}),
	}
}

// ===== END of EmailReminder modifiers

// ===== BEGIN of query set FreeTrialPointQuerySet

// FreeTrialPointQuerySet is an queryset type for FreeTrialPoint
type FreeTrialPointQuerySet struct {
	db *gorm.DB
}

// NewFreeTrialPointQuerySet constructs new FreeTrialPointQuerySet
func NewFreeTrialPointQuerySet(db *gorm.DB) FreeTrialPointQuerySet {
	return FreeTrialPointQuerySet{
		db: db.Model(&FreeTrialPoint{}),
	}
}

func (qs FreeTrialPointQuerySet) w(db *gorm.DB) FreeTrialPointQuerySet {
	return NewFreeTrialPointQuerySet(db)
}

func (qs FreeTrialPointQuerySet) Select(fields ...FreeTrialPointDBSchemaField) FreeTrialPointQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *FreeTrialPoint) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *FreeTrialPoint) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) All(ret *[]FreeTrialPoint) error {
	return qs.db.Find(ret).Error
}

// AmountEq is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) AmountEq(amount int64) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("amount = ?", amount))
}

// AmountGt is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) AmountGt(amount int64) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("amount > ?", amount))
}

// AmountGte is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) AmountGte(amount int64) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("amount >= ?", amount))
}

// AmountIn is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) AmountIn(amount ...int64) FreeTrialPointQuerySet {
	if len(amount) == 0 {
		qs.db.AddError(errors.New("must at least pass one amount in AmountIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("amount IN (?)", amount))
}

// AmountLt is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) AmountLt(amount int64) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("amount < ?", amount))
}

// AmountLte is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) AmountLte(amount int64) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("amount <= ?", amount))
}

// AmountNe is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) AmountNe(amount int64) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("amount != ?", amount))
}

// AmountNotIn is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) AmountNotIn(amount ...int64) FreeTrialPointQuerySet {
	if len(amount) == 0 {
		qs.db.AddError(errors.New("must at least pass one amount in AmountNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("amount NOT IN (?)", amount))
}

// Count is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) CreatedAtEq(createdAt time.Time) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) CreatedAtGt(createdAt time.Time) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) CreatedAtGte(createdAt time.Time) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) CreatedAtLt(createdAt time.Time) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) CreatedAtLte(createdAt time.Time) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) CreatedAtNe(createdAt time.Time) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) Delete() error {
	return qs.db.Delete(&FreeTrialPoint{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&FreeTrialPoint{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&FreeTrialPoint{})
	return db.RowsAffected, db.Error
}

// DescriptionEq is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) DescriptionEq(description string) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("description = ?", description))
}

// DescriptionGt is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) DescriptionGt(description string) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("description > ?", description))
}

// DescriptionGte is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) DescriptionGte(description string) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("description >= ?", description))
}

// DescriptionIn is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) DescriptionIn(description ...string) FreeTrialPointQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description IN (?)", description))
}

// DescriptionLike is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) DescriptionLike(description string) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("description LIKE ?", description))
}

// DescriptionLt is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) DescriptionLt(description string) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("description < ?", description))
}

// DescriptionLte is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) DescriptionLte(description string) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("description <= ?", description))
}

// DescriptionNe is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) DescriptionNe(description string) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("description != ?", description))
}

// DescriptionNotIn is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) DescriptionNotIn(description ...string) FreeTrialPointQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description NOT IN (?)", description))
}

// DescriptionNotlike is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) DescriptionNotlike(description string) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("description NOT LIKE ?", description))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) GetUpdater() FreeTrialPointUpdater {
	return NewFreeTrialPointUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) IDEq(ID ID) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) IDGt(ID ID) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) IDGte(ID ID) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) IDIn(ID ...ID) FreeTrialPointQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) IDLt(ID ID) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) IDLte(ID ID) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) IDNe(ID ID) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) IDNotIn(ID ...ID) FreeTrialPointQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) Limit(limit int) FreeTrialPointQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) Offset(offset int) FreeTrialPointQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs FreeTrialPointQuerySet) One(ret *FreeTrialPoint) error {
	return qs.db.First(ret).Error
}

// OrderAscByAmount is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) OrderAscByAmount() FreeTrialPointQuerySet {
	return qs.w(qs.db.Order("amount ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) OrderAscByCreatedAt() FreeTrialPointQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDescription is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) OrderAscByDescription() FreeTrialPointQuerySet {
	return qs.w(qs.db.Order("description ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) OrderAscByID() FreeTrialPointQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) OrderAscByTenantID() FreeTrialPointQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderDescByAmount is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) OrderDescByAmount() FreeTrialPointQuerySet {
	return qs.w(qs.db.Order("amount DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) OrderDescByCreatedAt() FreeTrialPointQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDescription is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) OrderDescByDescription() FreeTrialPointQuerySet {
	return qs.w(qs.db.Order("description DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) OrderDescByID() FreeTrialPointQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) OrderDescByTenantID() FreeTrialPointQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// PreloadTenant is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) PreloadTenant() FreeTrialPointQuerySet {
	return qs.w(qs.db.Preload("Tenant"))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) TenantIDEq(tenantID ID) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) TenantIDGt(tenantID ID) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) TenantIDGte(tenantID ID) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) TenantIDIn(tenantID ...ID) FreeTrialPointQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) TenantIDLt(tenantID ID) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) TenantIDLte(tenantID ID) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) TenantIDNe(tenantID ID) FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) TenantIDNotIn(tenantID ...ID) FreeTrialPointQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// TenantIsNotNull is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) TenantIsNotNull() FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("tenant IS NOT NULL"))
}

// TenantIsNull is an autogenerated method
// nolint: dupl
func (qs FreeTrialPointQuerySet) TenantIsNull() FreeTrialPointQuerySet {
	return qs.w(qs.db.Where("tenant IS NULL"))
}

// SetAmount is an autogenerated method
// nolint: dupl
func (u FreeTrialPointUpdater) SetAmount(amount int64) FreeTrialPointUpdater {
	u.fields[string(FreeTrialPointDBSchema.Amount)] = amount
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u FreeTrialPointUpdater) SetCreatedAt(createdAt time.Time) FreeTrialPointUpdater {
	u.fields[string(FreeTrialPointDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDescription is an autogenerated method
// nolint: dupl
func (u FreeTrialPointUpdater) SetDescription(description string) FreeTrialPointUpdater {
	u.fields[string(FreeTrialPointDBSchema.Description)] = description
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u FreeTrialPointUpdater) SetID(ID ID) FreeTrialPointUpdater {
	u.fields[string(FreeTrialPointDBSchema.ID)] = ID
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u FreeTrialPointUpdater) SetTenantID(tenantID ID) FreeTrialPointUpdater {
	u.fields[string(FreeTrialPointDBSchema.TenantID)] = tenantID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u FreeTrialPointUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u FreeTrialPointUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set FreeTrialPointQuerySet

// ===== BEGIN of FreeTrialPoint modifiers

// FreeTrialPointDBSchemaField describes database schema field. It requires for method 'Update'
type FreeTrialPointDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f FreeTrialPointDBSchemaField) String() string {
	return string(f)
}

// FreeTrialPointDBSchema stores db field names of FreeTrialPoint
var FreeTrialPointDBSchema = struct {
	ID          FreeTrialPointDBSchemaField
	CreatedAt   FreeTrialPointDBSchemaField
	TenantID    FreeTrialPointDBSchemaField
	Tenant      FreeTrialPointDBSchemaField
	Amount      FreeTrialPointDBSchemaField
	Description FreeTrialPointDBSchemaField
}{

	ID:          FreeTrialPointDBSchemaField("id"),
	CreatedAt:   FreeTrialPointDBSchemaField("created_at"),
	TenantID:    FreeTrialPointDBSchemaField("tenant_id"),
	Tenant:      FreeTrialPointDBSchemaField("tenant"),
	Amount:      FreeTrialPointDBSchemaField("amount"),
	Description: FreeTrialPointDBSchemaField("description"),
}

// Update updates FreeTrialPoint fields by primary key
// nolint: dupl
func (o *FreeTrialPoint) Update(db *gorm.DB, fields ...FreeTrialPointDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":          o.ID,
		"created_at":  o.CreatedAt,
		"tenant_id":   o.TenantID,
		"tenant":      o.Tenant,
		"amount":      o.Amount,
		"description": o.Description,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update FreeTrialPoint %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// FreeTrialPointUpdater is an FreeTrialPoint updates manager
type FreeTrialPointUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewFreeTrialPointUpdater creates new FreeTrialPoint updater
// nolint: dupl
func NewFreeTrialPointUpdater(db *gorm.DB) FreeTrialPointUpdater {
	return FreeTrialPointUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&FreeTrialPoint{}),
	}
}

// ===== END of FreeTrialPoint modifiers

// ===== BEGIN of query set GcpVpcPeeringQuerySet

// GcpVpcPeeringQuerySet is an queryset type for GcpVpcPeering
type GcpVpcPeeringQuerySet struct {
	db *gorm.DB
}

// NewGcpVpcPeeringQuerySet constructs new GcpVpcPeeringQuerySet
func NewGcpVpcPeeringQuerySet(db *gorm.DB) GcpVpcPeeringQuerySet {
	return GcpVpcPeeringQuerySet{
		db: db.Model(&GcpVpcPeering{}),
	}
}

func (qs GcpVpcPeeringQuerySet) w(db *gorm.DB) GcpVpcPeeringQuerySet {
	return NewGcpVpcPeeringQuerySet(db)
}

func (qs GcpVpcPeeringQuerySet) Select(fields ...GcpVpcPeeringDBSchemaField) GcpVpcPeeringQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *GcpVpcPeering) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *GcpVpcPeering) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) All(ret *[]GcpVpcPeering) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) CreatedAtEq(createdAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) CreatedAtGt(createdAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) CreatedAtGte(createdAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) CreatedAtLt(createdAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) CreatedAtLte(createdAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) CreatedAtNe(createdAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) Delete() error {
	return qs.db.Delete(&GcpVpcPeering{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&GcpVpcPeering{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&GcpVpcPeering{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) GetUpdater() GcpVpcPeeringUpdater {
	return NewGcpVpcPeeringUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) IDEq(ID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) IDGt(ID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) IDGte(ID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) IDIn(ID ...ID) GcpVpcPeeringQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) IDLt(ID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) IDLte(ID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) IDNe(ID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) IDNotIn(ID ...ID) GcpVpcPeeringQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) Limit(limit int) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NetworkNameEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameEq(networkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("network_name = ?", networkName))
}

// NetworkNameGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameGt(networkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("network_name > ?", networkName))
}

// NetworkNameGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameGte(networkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("network_name >= ?", networkName))
}

// NetworkNameIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameIn(networkName ...string) GcpVpcPeeringQuerySet {
	if len(networkName) == 0 {
		qs.db.AddError(errors.New("must at least pass one networkName in NetworkNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("network_name IN (?)", networkName))
}

// NetworkNameLike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameLike(networkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("network_name LIKE ?", networkName))
}

// NetworkNameLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameLt(networkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("network_name < ?", networkName))
}

// NetworkNameLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameLte(networkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("network_name <= ?", networkName))
}

// NetworkNameNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameNe(networkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("network_name != ?", networkName))
}

// NetworkNameNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameNotIn(networkName ...string) GcpVpcPeeringQuerySet {
	if len(networkName) == 0 {
		qs.db.AddError(errors.New("must at least pass one networkName in NetworkNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("network_name NOT IN (?)", networkName))
}

// NetworkNameNotlike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameNotlike(networkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("network_name NOT LIKE ?", networkName))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) Offset(offset int) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs GcpVpcPeeringQuerySet) One(ret *GcpVpcPeering) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByCreatedAt() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByID() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByNetworkName is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByNetworkName() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("network_name ASC"))
}

// OrderAscByProjectID is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByProjectID() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("project_id ASC"))
}

// OrderAscByRegion is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByRegion() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("region ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByStatus() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByTenantNetworkName is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByTenantNetworkName() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_network_name ASC"))
}

// OrderAscByTenantProjectID is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByTenantProjectID() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_project_id ASC"))
}

// OrderAscByTenantVpcRegion is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByTenantVpcRegion() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_vpc_region ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByUpdatedAt() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByCreatedAt() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByID() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByNetworkName is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByNetworkName() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("network_name DESC"))
}

// OrderDescByProjectID is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByProjectID() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("project_id DESC"))
}

// OrderDescByRegion is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByRegion() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("region DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByStatus() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByTenantNetworkName is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByTenantNetworkName() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_network_name DESC"))
}

// OrderDescByTenantProjectID is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByTenantProjectID() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_project_id DESC"))
}

// OrderDescByTenantVpcRegion is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByTenantVpcRegion() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_vpc_region DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByUpdatedAt() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadProject is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) PreloadProject() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Preload("Project"))
}

// ProjectIDEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIDEq(projectID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id = ?", projectID))
}

// ProjectIDGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIDGt(projectID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id > ?", projectID))
}

// ProjectIDGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIDGte(projectID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id >= ?", projectID))
}

// ProjectIDIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIDIn(projectID ...ID) GcpVpcPeeringQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id IN (?)", projectID))
}

// ProjectIDLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIDLt(projectID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id < ?", projectID))
}

// ProjectIDLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIDLte(projectID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id <= ?", projectID))
}

// ProjectIDNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIDNe(projectID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id != ?", projectID))
}

// ProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIDNotIn(projectID ...ID) GcpVpcPeeringQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id NOT IN (?)", projectID))
}

// ProjectIsNotNull is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIsNotNull() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project IS NOT NULL"))
}

// ProjectIsNull is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIsNull() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project IS NULL"))
}

// RegionEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionEq(region string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region = ?", region))
}

// RegionGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionGt(region string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region > ?", region))
}

// RegionGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionGte(region string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region >= ?", region))
}

// RegionIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionIn(region ...string) GcpVpcPeeringQuerySet {
	if len(region) == 0 {
		qs.db.AddError(errors.New("must at least pass one region in RegionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region IN (?)", region))
}

// RegionLike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionLike(region string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region LIKE ?", region))
}

// RegionLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionLt(region string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region < ?", region))
}

// RegionLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionLte(region string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region <= ?", region))
}

// RegionNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionNe(region string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region != ?", region))
}

// RegionNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionNotIn(region ...string) GcpVpcPeeringQuerySet {
	if len(region) == 0 {
		qs.db.AddError(errors.New("must at least pass one region in RegionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region NOT IN (?)", region))
}

// RegionNotlike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionNotlike(region string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region NOT LIKE ?", region))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusEq(status string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusGt(status string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusGte(status string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusIn(status ...string) GcpVpcPeeringQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusLike(status string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusLt(status string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusLte(status string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusNe(status string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusNotIn(status ...string) GcpVpcPeeringQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusNotlike(status string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// TenantNetworkNameEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameEq(tenantNetworkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_network_name = ?", tenantNetworkName))
}

// TenantNetworkNameGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameGt(tenantNetworkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_network_name > ?", tenantNetworkName))
}

// TenantNetworkNameGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameGte(tenantNetworkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_network_name >= ?", tenantNetworkName))
}

// TenantNetworkNameIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameIn(tenantNetworkName ...string) GcpVpcPeeringQuerySet {
	if len(tenantNetworkName) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantNetworkName in TenantNetworkNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_network_name IN (?)", tenantNetworkName))
}

// TenantNetworkNameLike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameLike(tenantNetworkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_network_name LIKE ?", tenantNetworkName))
}

// TenantNetworkNameLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameLt(tenantNetworkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_network_name < ?", tenantNetworkName))
}

// TenantNetworkNameLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameLte(tenantNetworkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_network_name <= ?", tenantNetworkName))
}

// TenantNetworkNameNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameNe(tenantNetworkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_network_name != ?", tenantNetworkName))
}

// TenantNetworkNameNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameNotIn(tenantNetworkName ...string) GcpVpcPeeringQuerySet {
	if len(tenantNetworkName) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantNetworkName in TenantNetworkNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_network_name NOT IN (?)", tenantNetworkName))
}

// TenantNetworkNameNotlike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameNotlike(tenantNetworkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_network_name NOT LIKE ?", tenantNetworkName))
}

// TenantProjectIDEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDEq(tenantProjectID string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_project_id = ?", tenantProjectID))
}

// TenantProjectIDGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDGt(tenantProjectID string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_project_id > ?", tenantProjectID))
}

// TenantProjectIDGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDGte(tenantProjectID string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_project_id >= ?", tenantProjectID))
}

// TenantProjectIDIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDIn(tenantProjectID ...string) GcpVpcPeeringQuerySet {
	if len(tenantProjectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantProjectID in TenantProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_project_id IN (?)", tenantProjectID))
}

// TenantProjectIDLike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDLike(tenantProjectID string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_project_id LIKE ?", tenantProjectID))
}

// TenantProjectIDLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDLt(tenantProjectID string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_project_id < ?", tenantProjectID))
}

// TenantProjectIDLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDLte(tenantProjectID string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_project_id <= ?", tenantProjectID))
}

// TenantProjectIDNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDNe(tenantProjectID string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_project_id != ?", tenantProjectID))
}

// TenantProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDNotIn(tenantProjectID ...string) GcpVpcPeeringQuerySet {
	if len(tenantProjectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantProjectID in TenantProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_project_id NOT IN (?)", tenantProjectID))
}

// TenantProjectIDNotlike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDNotlike(tenantProjectID string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_project_id NOT LIKE ?", tenantProjectID))
}

// TenantVpcRegionEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionEq(tenantVpcRegion string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_region = ?", tenantVpcRegion))
}

// TenantVpcRegionGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionGt(tenantVpcRegion string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_region > ?", tenantVpcRegion))
}

// TenantVpcRegionGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionGte(tenantVpcRegion string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_region >= ?", tenantVpcRegion))
}

// TenantVpcRegionIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionIn(tenantVpcRegion ...string) GcpVpcPeeringQuerySet {
	if len(tenantVpcRegion) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantVpcRegion in TenantVpcRegionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_vpc_region IN (?)", tenantVpcRegion))
}

// TenantVpcRegionLike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionLike(tenantVpcRegion string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_region LIKE ?", tenantVpcRegion))
}

// TenantVpcRegionLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionLt(tenantVpcRegion string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_region < ?", tenantVpcRegion))
}

// TenantVpcRegionLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionLte(tenantVpcRegion string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_region <= ?", tenantVpcRegion))
}

// TenantVpcRegionNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionNe(tenantVpcRegion string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_region != ?", tenantVpcRegion))
}

// TenantVpcRegionNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionNotIn(tenantVpcRegion ...string) GcpVpcPeeringQuerySet {
	if len(tenantVpcRegion) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantVpcRegion in TenantVpcRegionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_vpc_region NOT IN (?)", tenantVpcRegion))
}

// TenantVpcRegionNotlike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionNotlike(tenantVpcRegion string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_region NOT LIKE ?", tenantVpcRegion))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) UpdatedAtEq(updatedAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) UpdatedAtGt(updatedAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) UpdatedAtGte(updatedAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) UpdatedAtIsNotNull() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) UpdatedAtIsNull() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) UpdatedAtLt(updatedAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) UpdatedAtLte(updatedAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) UpdatedAtNe(updatedAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetCreatedAt(createdAt time.Time) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetID(ID ID) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.ID)] = ID
	return u
}

// SetNetworkName is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetNetworkName(networkName string) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.NetworkName)] = networkName
	return u
}

// SetProjectID is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetProjectID(projectID ID) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.ProjectID)] = projectID
	return u
}

// SetRegion is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetRegion(region string) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.Region)] = region
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetStatus(status string) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.Status)] = status
	return u
}

// SetTenantNetworkName is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetTenantNetworkName(tenantNetworkName string) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.TenantNetworkName)] = tenantNetworkName
	return u
}

// SetTenantProjectID is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetTenantProjectID(tenantProjectID string) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.TenantProjectID)] = tenantProjectID
	return u
}

// SetTenantVpcRegion is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetTenantVpcRegion(tenantVpcRegion string) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.TenantVpcRegion)] = tenantVpcRegion
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetUpdatedAt(updatedAt *time.Time) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set GcpVpcPeeringQuerySet

// ===== BEGIN of GcpVpcPeering modifiers

// GcpVpcPeeringDBSchemaField describes database schema field. It requires for method 'Update'
type GcpVpcPeeringDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f GcpVpcPeeringDBSchemaField) String() string {
	return string(f)
}

// GcpVpcPeeringDBSchema stores db field names of GcpVpcPeering
var GcpVpcPeeringDBSchema = struct {
	ID                GcpVpcPeeringDBSchemaField
	CreatedAt         GcpVpcPeeringDBSchemaField
	UpdatedAt         GcpVpcPeeringDBSchemaField
	Region            GcpVpcPeeringDBSchemaField
	TenantProjectID   GcpVpcPeeringDBSchemaField
	TenantNetworkName GcpVpcPeeringDBSchemaField
	TenantVpcRegion   GcpVpcPeeringDBSchemaField
	NetworkName       GcpVpcPeeringDBSchemaField
	Status            GcpVpcPeeringDBSchemaField
	ProjectID         GcpVpcPeeringDBSchemaField
	Project           GcpVpcPeeringDBSchemaField
}{

	ID:                GcpVpcPeeringDBSchemaField("id"),
	CreatedAt:         GcpVpcPeeringDBSchemaField("created_at"),
	UpdatedAt:         GcpVpcPeeringDBSchemaField("updated_at"),
	Region:            GcpVpcPeeringDBSchemaField("region"),
	TenantProjectID:   GcpVpcPeeringDBSchemaField("tenant_project_id"),
	TenantNetworkName: GcpVpcPeeringDBSchemaField("tenant_network_name"),
	TenantVpcRegion:   GcpVpcPeeringDBSchemaField("tenant_vpc_region"),
	NetworkName:       GcpVpcPeeringDBSchemaField("network_name"),
	Status:            GcpVpcPeeringDBSchemaField("status"),
	ProjectID:         GcpVpcPeeringDBSchemaField("project_id"),
	Project:           GcpVpcPeeringDBSchemaField("project"),
}

// Update updates GcpVpcPeering fields by primary key
// nolint: dupl
func (o *GcpVpcPeering) Update(db *gorm.DB, fields ...GcpVpcPeeringDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                  o.ID,
		"created_at":          o.CreatedAt,
		"updated_at":          o.UpdatedAt,
		"region":              o.Region,
		"tenant_project_id":   o.TenantProjectID,
		"tenant_network_name": o.TenantNetworkName,
		"tenant_vpc_region":   o.TenantVpcRegion,
		"network_name":        o.NetworkName,
		"status":              o.Status,
		"project_id":          o.ProjectID,
		"project":             o.Project,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update GcpVpcPeering %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// GcpVpcPeeringUpdater is an GcpVpcPeering updates manager
type GcpVpcPeeringUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewGcpVpcPeeringUpdater creates new GcpVpcPeering updater
// nolint: dupl
func NewGcpVpcPeeringUpdater(db *gorm.DB) GcpVpcPeeringUpdater {
	return GcpVpcPeeringUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&GcpVpcPeering{}),
	}
}

// ===== END of GcpVpcPeering modifiers

// ===== BEGIN of query set GlobalDiscountQuerySet

// GlobalDiscountQuerySet is an queryset type for GlobalDiscount
type GlobalDiscountQuerySet struct {
	db *gorm.DB
}

// NewGlobalDiscountQuerySet constructs new GlobalDiscountQuerySet
func NewGlobalDiscountQuerySet(db *gorm.DB) GlobalDiscountQuerySet {
	return GlobalDiscountQuerySet{
		db: db.Model(&GlobalDiscount{}),
	}
}

func (qs GlobalDiscountQuerySet) w(db *gorm.DB) GlobalDiscountQuerySet {
	return NewGlobalDiscountQuerySet(db)
}

func (qs GlobalDiscountQuerySet) Select(fields ...GlobalDiscountDBSchemaField) GlobalDiscountQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *GlobalDiscount) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *GlobalDiscount) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) All(ret *[]GlobalDiscount) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) CreatedAtEq(createdAt time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) CreatedAtGt(createdAt time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) CreatedAtGte(createdAt time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) CreatedAtLt(createdAt time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) CreatedAtLte(createdAt time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) CreatedAtNe(createdAt time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) Delete() error {
	return qs.db.Delete(&GlobalDiscount{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&GlobalDiscount{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&GlobalDiscount{})
	return db.RowsAffected, db.Error
}

// DescriptionEq is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DescriptionEq(description string) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("description = ?", description))
}

// DescriptionGt is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DescriptionGt(description string) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("description > ?", description))
}

// DescriptionGte is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DescriptionGte(description string) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("description >= ?", description))
}

// DescriptionIn is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DescriptionIn(description ...string) GlobalDiscountQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description IN (?)", description))
}

// DescriptionLike is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DescriptionLike(description string) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("description LIKE ?", description))
}

// DescriptionLt is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DescriptionLt(description string) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("description < ?", description))
}

// DescriptionLte is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DescriptionLte(description string) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("description <= ?", description))
}

// DescriptionNe is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DescriptionNe(description string) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("description != ?", description))
}

// DescriptionNotIn is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DescriptionNotIn(description ...string) GlobalDiscountQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description NOT IN (?)", description))
}

// DescriptionNotlike is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DescriptionNotlike(description string) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("description NOT LIKE ?", description))
}

// DiscountEq is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DiscountEq(discount float64) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("discount = ?", discount))
}

// DiscountGt is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DiscountGt(discount float64) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("discount > ?", discount))
}

// DiscountGte is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DiscountGte(discount float64) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("discount >= ?", discount))
}

// DiscountIn is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DiscountIn(discount ...float64) GlobalDiscountQuerySet {
	if len(discount) == 0 {
		qs.db.AddError(errors.New("must at least pass one discount in DiscountIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("discount IN (?)", discount))
}

// DiscountLt is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DiscountLt(discount float64) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("discount < ?", discount))
}

// DiscountLte is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DiscountLte(discount float64) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("discount <= ?", discount))
}

// DiscountNe is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DiscountNe(discount float64) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("discount != ?", discount))
}

// DiscountNotIn is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) DiscountNotIn(discount ...float64) GlobalDiscountQuerySet {
	if len(discount) == 0 {
		qs.db.AddError(errors.New("must at least pass one discount in DiscountNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("discount NOT IN (?)", discount))
}

// EndTimeEq is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) EndTimeEq(endTime time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("end_time = ?", endTime))
}

// EndTimeGt is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) EndTimeGt(endTime time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("end_time > ?", endTime))
}

// EndTimeGte is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) EndTimeGte(endTime time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("end_time >= ?", endTime))
}

// EndTimeLt is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) EndTimeLt(endTime time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("end_time < ?", endTime))
}

// EndTimeLte is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) EndTimeLte(endTime time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("end_time <= ?", endTime))
}

// EndTimeNe is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) EndTimeNe(endTime time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("end_time != ?", endTime))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) GetUpdater() GlobalDiscountUpdater {
	return NewGlobalDiscountUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) IDEq(ID ID) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) IDGt(ID ID) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) IDGte(ID ID) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) IDIn(ID ...ID) GlobalDiscountQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) IDLt(ID ID) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) IDLte(ID ID) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) IDNe(ID ID) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) IDNotIn(ID ...ID) GlobalDiscountQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) Limit(limit int) GlobalDiscountQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) Offset(offset int) GlobalDiscountQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs GlobalDiscountQuerySet) One(ret *GlobalDiscount) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) OrderAscByCreatedAt() GlobalDiscountQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDescription is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) OrderAscByDescription() GlobalDiscountQuerySet {
	return qs.w(qs.db.Order("description ASC"))
}

// OrderAscByDiscount is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) OrderAscByDiscount() GlobalDiscountQuerySet {
	return qs.w(qs.db.Order("discount ASC"))
}

// OrderAscByEndTime is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) OrderAscByEndTime() GlobalDiscountQuerySet {
	return qs.w(qs.db.Order("end_time ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) OrderAscByID() GlobalDiscountQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByStartTime is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) OrderAscByStartTime() GlobalDiscountQuerySet {
	return qs.w(qs.db.Order("start_time ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) OrderDescByCreatedAt() GlobalDiscountQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDescription is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) OrderDescByDescription() GlobalDiscountQuerySet {
	return qs.w(qs.db.Order("description DESC"))
}

// OrderDescByDiscount is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) OrderDescByDiscount() GlobalDiscountQuerySet {
	return qs.w(qs.db.Order("discount DESC"))
}

// OrderDescByEndTime is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) OrderDescByEndTime() GlobalDiscountQuerySet {
	return qs.w(qs.db.Order("end_time DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) OrderDescByID() GlobalDiscountQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByStartTime is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) OrderDescByStartTime() GlobalDiscountQuerySet {
	return qs.w(qs.db.Order("start_time DESC"))
}

// StartTimeEq is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) StartTimeEq(startTime time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("start_time = ?", startTime))
}

// StartTimeGt is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) StartTimeGt(startTime time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("start_time > ?", startTime))
}

// StartTimeGte is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) StartTimeGte(startTime time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("start_time >= ?", startTime))
}

// StartTimeLt is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) StartTimeLt(startTime time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("start_time < ?", startTime))
}

// StartTimeLte is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) StartTimeLte(startTime time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("start_time <= ?", startTime))
}

// StartTimeNe is an autogenerated method
// nolint: dupl
func (qs GlobalDiscountQuerySet) StartTimeNe(startTime time.Time) GlobalDiscountQuerySet {
	return qs.w(qs.db.Where("start_time != ?", startTime))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u GlobalDiscountUpdater) SetCreatedAt(createdAt time.Time) GlobalDiscountUpdater {
	u.fields[string(GlobalDiscountDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDescription is an autogenerated method
// nolint: dupl
func (u GlobalDiscountUpdater) SetDescription(description string) GlobalDiscountUpdater {
	u.fields[string(GlobalDiscountDBSchema.Description)] = description
	return u
}

// SetDiscount is an autogenerated method
// nolint: dupl
func (u GlobalDiscountUpdater) SetDiscount(discount float64) GlobalDiscountUpdater {
	u.fields[string(GlobalDiscountDBSchema.Discount)] = discount
	return u
}

// SetEndTime is an autogenerated method
// nolint: dupl
func (u GlobalDiscountUpdater) SetEndTime(endTime time.Time) GlobalDiscountUpdater {
	u.fields[string(GlobalDiscountDBSchema.EndTime)] = endTime
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u GlobalDiscountUpdater) SetID(ID ID) GlobalDiscountUpdater {
	u.fields[string(GlobalDiscountDBSchema.ID)] = ID
	return u
}

// SetStartTime is an autogenerated method
// nolint: dupl
func (u GlobalDiscountUpdater) SetStartTime(startTime time.Time) GlobalDiscountUpdater {
	u.fields[string(GlobalDiscountDBSchema.StartTime)] = startTime
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u GlobalDiscountUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u GlobalDiscountUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set GlobalDiscountQuerySet

// ===== BEGIN of GlobalDiscount modifiers

// GlobalDiscountDBSchemaField describes database schema field. It requires for method 'Update'
type GlobalDiscountDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f GlobalDiscountDBSchemaField) String() string {
	return string(f)
}

// GlobalDiscountDBSchema stores db field names of GlobalDiscount
var GlobalDiscountDBSchema = struct {
	ID          GlobalDiscountDBSchemaField
	CreatedAt   GlobalDiscountDBSchemaField
	Discount    GlobalDiscountDBSchemaField
	Description GlobalDiscountDBSchemaField
	StartTime   GlobalDiscountDBSchemaField
	EndTime     GlobalDiscountDBSchemaField
}{

	ID:          GlobalDiscountDBSchemaField("id"),
	CreatedAt:   GlobalDiscountDBSchemaField("created_at"),
	Discount:    GlobalDiscountDBSchemaField("discount"),
	Description: GlobalDiscountDBSchemaField("description"),
	StartTime:   GlobalDiscountDBSchemaField("start_time"),
	EndTime:     GlobalDiscountDBSchemaField("end_time"),
}

// Update updates GlobalDiscount fields by primary key
// nolint: dupl
func (o *GlobalDiscount) Update(db *gorm.DB, fields ...GlobalDiscountDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":          o.ID,
		"created_at":  o.CreatedAt,
		"discount":    o.Discount,
		"description": o.Description,
		"start_time":  o.StartTime,
		"end_time":    o.EndTime,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update GlobalDiscount %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// GlobalDiscountUpdater is an GlobalDiscount updates manager
type GlobalDiscountUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewGlobalDiscountUpdater creates new GlobalDiscount updater
// nolint: dupl
func NewGlobalDiscountUpdater(db *gorm.DB) GlobalDiscountUpdater {
	return GlobalDiscountUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&GlobalDiscount{}),
	}
}

// ===== END of GlobalDiscount modifiers

// ===== BEGIN of query set ImpersonatedUserQuerySet

// ImpersonatedUserQuerySet is an queryset type for ImpersonatedUser
type ImpersonatedUserQuerySet struct {
	db *gorm.DB
}

// NewImpersonatedUserQuerySet constructs new ImpersonatedUserQuerySet
func NewImpersonatedUserQuerySet(db *gorm.DB) ImpersonatedUserQuerySet {
	return ImpersonatedUserQuerySet{
		db: db.Model(&ImpersonatedUser{}),
	}
}

func (qs ImpersonatedUserQuerySet) w(db *gorm.DB) ImpersonatedUserQuerySet {
	return NewImpersonatedUserQuerySet(db)
}

func (qs ImpersonatedUserQuerySet) Select(fields ...ImpersonatedUserDBSchemaField) ImpersonatedUserQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *ImpersonatedUser) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *ImpersonatedUser) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) All(ret *[]ImpersonatedUser) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) CreatedAtEq(createdAt time.Time) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) CreatedAtGt(createdAt time.Time) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) CreatedAtGte(createdAt time.Time) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) CreatedAtLt(createdAt time.Time) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) CreatedAtLte(createdAt time.Time) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) CreatedAtNe(createdAt time.Time) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) Delete() error {
	return qs.db.Delete(&ImpersonatedUser{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&ImpersonatedUser{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&ImpersonatedUser{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) GetUpdater() ImpersonatedUserUpdater {
	return NewImpersonatedUserUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) IDEq(ID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) IDGt(ID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) IDGte(ID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) IDIn(ID ...ID) ImpersonatedUserQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) IDLt(ID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) IDLte(ID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) IDNe(ID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) IDNotIn(ID ...ID) ImpersonatedUserQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) Limit(limit int) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) Offset(offset int) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ImpersonatedUserQuerySet) One(ret *ImpersonatedUser) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) OrderAscByCreatedAt() ImpersonatedUserQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) OrderAscByID() ImpersonatedUserQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) OrderAscByTenantID() ImpersonatedUserQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByUserID is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) OrderAscByUserID() ImpersonatedUserQuerySet {
	return qs.w(qs.db.Order("user_id ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) OrderDescByCreatedAt() ImpersonatedUserQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) OrderDescByID() ImpersonatedUserQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) OrderDescByTenantID() ImpersonatedUserQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByUserID is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) OrderDescByUserID() ImpersonatedUserQuerySet {
	return qs.w(qs.db.Order("user_id DESC"))
}

// PreloadTenant is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) PreloadTenant() ImpersonatedUserQuerySet {
	return qs.w(qs.db.Preload("Tenant"))
}

// PreloadUser is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) PreloadUser() ImpersonatedUserQuerySet {
	return qs.w(qs.db.Preload("User"))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) TenantIDEq(tenantID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) TenantIDGt(tenantID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) TenantIDGte(tenantID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) TenantIDIn(tenantID ...ID) ImpersonatedUserQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) TenantIDLt(tenantID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) TenantIDLte(tenantID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) TenantIDNe(tenantID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) TenantIDNotIn(tenantID ...ID) ImpersonatedUserQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// TenantIsNotNull is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) TenantIsNotNull() ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("tenant IS NOT NULL"))
}

// TenantIsNull is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) TenantIsNull() ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("tenant IS NULL"))
}

// UserIDEq is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) UserIDEq(userID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("user_id = ?", userID))
}

// UserIDGt is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) UserIDGt(userID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("user_id > ?", userID))
}

// UserIDGte is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) UserIDGte(userID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("user_id >= ?", userID))
}

// UserIDIn is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) UserIDIn(userID ...ID) ImpersonatedUserQuerySet {
	if len(userID) == 0 {
		qs.db.AddError(errors.New("must at least pass one userID in UserIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("user_id IN (?)", userID))
}

// UserIDLt is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) UserIDLt(userID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("user_id < ?", userID))
}

// UserIDLte is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) UserIDLte(userID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("user_id <= ?", userID))
}

// UserIDNe is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) UserIDNe(userID ID) ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("user_id != ?", userID))
}

// UserIDNotIn is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) UserIDNotIn(userID ...ID) ImpersonatedUserQuerySet {
	if len(userID) == 0 {
		qs.db.AddError(errors.New("must at least pass one userID in UserIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("user_id NOT IN (?)", userID))
}

// UserIsNotNull is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) UserIsNotNull() ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("user IS NOT NULL"))
}

// UserIsNull is an autogenerated method
// nolint: dupl
func (qs ImpersonatedUserQuerySet) UserIsNull() ImpersonatedUserQuerySet {
	return qs.w(qs.db.Where("user IS NULL"))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ImpersonatedUserUpdater) SetCreatedAt(createdAt time.Time) ImpersonatedUserUpdater {
	u.fields[string(ImpersonatedUserDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ImpersonatedUserUpdater) SetID(ID ID) ImpersonatedUserUpdater {
	u.fields[string(ImpersonatedUserDBSchema.ID)] = ID
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u ImpersonatedUserUpdater) SetTenantID(tenantID ID) ImpersonatedUserUpdater {
	u.fields[string(ImpersonatedUserDBSchema.TenantID)] = tenantID
	return u
}

// SetUserID is an autogenerated method
// nolint: dupl
func (u ImpersonatedUserUpdater) SetUserID(userID ID) ImpersonatedUserUpdater {
	u.fields[string(ImpersonatedUserDBSchema.UserID)] = userID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ImpersonatedUserUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ImpersonatedUserUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ImpersonatedUserQuerySet

// ===== BEGIN of ImpersonatedUser modifiers

// ImpersonatedUserDBSchemaField describes database schema field. It requires for method 'Update'
type ImpersonatedUserDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ImpersonatedUserDBSchemaField) String() string {
	return string(f)
}

// ImpersonatedUserDBSchema stores db field names of ImpersonatedUser
var ImpersonatedUserDBSchema = struct {
	ID        ImpersonatedUserDBSchemaField
	CreatedAt ImpersonatedUserDBSchemaField
	UserID    ImpersonatedUserDBSchemaField
	User      ImpersonatedUserDBSchemaField
	TenantID  ImpersonatedUserDBSchemaField
	Tenant    ImpersonatedUserDBSchemaField
}{

	ID:        ImpersonatedUserDBSchemaField("id"),
	CreatedAt: ImpersonatedUserDBSchemaField("created_at"),
	UserID:    ImpersonatedUserDBSchemaField("user_id"),
	User:      ImpersonatedUserDBSchemaField("user"),
	TenantID:  ImpersonatedUserDBSchemaField("tenant_id"),
	Tenant:    ImpersonatedUserDBSchemaField("tenant"),
}

// Update updates ImpersonatedUser fields by primary key
// nolint: dupl
func (o *ImpersonatedUser) Update(db *gorm.DB, fields ...ImpersonatedUserDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"user_id":    o.UserID,
		"user":       o.User,
		"tenant_id":  o.TenantID,
		"tenant":     o.Tenant,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update ImpersonatedUser %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ImpersonatedUserUpdater is an ImpersonatedUser updates manager
type ImpersonatedUserUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewImpersonatedUserUpdater creates new ImpersonatedUser updater
// nolint: dupl
func NewImpersonatedUserUpdater(db *gorm.DB) ImpersonatedUserUpdater {
	return ImpersonatedUserUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&ImpersonatedUser{}),
	}
}

// ===== END of ImpersonatedUser modifiers

// ===== BEGIN of query set ImportQuerySet

// ImportQuerySet is an queryset type for Import
type ImportQuerySet struct {
	db *gorm.DB
}

// NewImportQuerySet constructs new ImportQuerySet
func NewImportQuerySet(db *gorm.DB) ImportQuerySet {
	return ImportQuerySet{
		db: db.Model(&Import{}),
	}
}

func (qs ImportQuerySet) w(db *gorm.DB) ImportQuerySet {
	return NewImportQuerySet(db)
}

func (qs ImportQuerySet) Select(fields ...ImportDBSchemaField) ImportQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Import) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Import) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) All(ret *[]Import) error {
	return qs.db.Find(ret).Error
}

// BucketRegionEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) BucketRegionEq(bucketRegion string) ImportQuerySet {
	return qs.w(qs.db.Where("bucket_region = ?", bucketRegion))
}

// BucketRegionGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) BucketRegionGt(bucketRegion string) ImportQuerySet {
	return qs.w(qs.db.Where("bucket_region > ?", bucketRegion))
}

// BucketRegionGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) BucketRegionGte(bucketRegion string) ImportQuerySet {
	return qs.w(qs.db.Where("bucket_region >= ?", bucketRegion))
}

// BucketRegionIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) BucketRegionIn(bucketRegion ...string) ImportQuerySet {
	if len(bucketRegion) == 0 {
		qs.db.AddError(errors.New("must at least pass one bucketRegion in BucketRegionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("bucket_region IN (?)", bucketRegion))
}

// BucketRegionLike is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) BucketRegionLike(bucketRegion string) ImportQuerySet {
	return qs.w(qs.db.Where("bucket_region LIKE ?", bucketRegion))
}

// BucketRegionLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) BucketRegionLt(bucketRegion string) ImportQuerySet {
	return qs.w(qs.db.Where("bucket_region < ?", bucketRegion))
}

// BucketRegionLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) BucketRegionLte(bucketRegion string) ImportQuerySet {
	return qs.w(qs.db.Where("bucket_region <= ?", bucketRegion))
}

// BucketRegionNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) BucketRegionNe(bucketRegion string) ImportQuerySet {
	return qs.w(qs.db.Where("bucket_region != ?", bucketRegion))
}

// BucketRegionNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) BucketRegionNotIn(bucketRegion ...string) ImportQuerySet {
	if len(bucketRegion) == 0 {
		qs.db.AddError(errors.New("must at least pass one bucketRegion in BucketRegionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("bucket_region NOT IN (?)", bucketRegion))
}

// BucketRegionNotlike is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) BucketRegionNotlike(bucketRegion string) ImportQuerySet {
	return qs.w(qs.db.Where("bucket_region NOT LIKE ?", bucketRegion))
}

// CleanUpEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CleanUpEq(cleanUp bool) ImportQuerySet {
	return qs.w(qs.db.Where("clean_up = ?", cleanUp))
}

// CleanUpIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CleanUpIn(cleanUp ...bool) ImportQuerySet {
	if len(cleanUp) == 0 {
		qs.db.AddError(errors.New("must at least pass one cleanUp in CleanUpIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("clean_up IN (?)", cleanUp))
}

// CleanUpNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CleanUpNe(cleanUp bool) ImportQuerySet {
	return qs.w(qs.db.Where("clean_up != ?", cleanUp))
}

// CleanUpNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CleanUpNotIn(cleanUp ...bool) ImportQuerySet {
	if len(cleanUp) == 0 {
		qs.db.AddError(errors.New("must at least pass one cleanUp in CleanUpNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("clean_up NOT IN (?)", cleanUp))
}

// ClusterIDEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) ClusterIDEq(clusterID ID) ImportQuerySet {
	return qs.w(qs.db.Where("cluster_id = ?", clusterID))
}

// ClusterIDGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) ClusterIDGt(clusterID ID) ImportQuerySet {
	return qs.w(qs.db.Where("cluster_id > ?", clusterID))
}

// ClusterIDGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) ClusterIDGte(clusterID ID) ImportQuerySet {
	return qs.w(qs.db.Where("cluster_id >= ?", clusterID))
}

// ClusterIDIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) ClusterIDIn(clusterID ...ID) ImportQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id IN (?)", clusterID))
}

// ClusterIDLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) ClusterIDLt(clusterID ID) ImportQuerySet {
	return qs.w(qs.db.Where("cluster_id < ?", clusterID))
}

// ClusterIDLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) ClusterIDLte(clusterID ID) ImportQuerySet {
	return qs.w(qs.db.Where("cluster_id <= ?", clusterID))
}

// ClusterIDNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) ClusterIDNe(clusterID ID) ImportQuerySet {
	return qs.w(qs.db.Where("cluster_id != ?", clusterID))
}

// ClusterIDNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) ClusterIDNotIn(clusterID ...ID) ImportQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id NOT IN (?)", clusterID))
}

// ClusterIsNotNull is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) ClusterIsNotNull() ImportQuerySet {
	return qs.w(qs.db.Where("cluster IS NOT NULL"))
}

// ClusterIsNull is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) ClusterIsNull() ImportQuerySet {
	return qs.w(qs.db.Where("cluster IS NULL"))
}

// CompletedPercentEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CompletedPercentEq(completedPercent uint32) ImportQuerySet {
	return qs.w(qs.db.Where("completed_percent = ?", completedPercent))
}

// CompletedPercentGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CompletedPercentGt(completedPercent uint32) ImportQuerySet {
	return qs.w(qs.db.Where("completed_percent > ?", completedPercent))
}

// CompletedPercentGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CompletedPercentGte(completedPercent uint32) ImportQuerySet {
	return qs.w(qs.db.Where("completed_percent >= ?", completedPercent))
}

// CompletedPercentIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CompletedPercentIn(completedPercent ...uint32) ImportQuerySet {
	if len(completedPercent) == 0 {
		qs.db.AddError(errors.New("must at least pass one completedPercent in CompletedPercentIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("completed_percent IN (?)", completedPercent))
}

// CompletedPercentLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CompletedPercentLt(completedPercent uint32) ImportQuerySet {
	return qs.w(qs.db.Where("completed_percent < ?", completedPercent))
}

// CompletedPercentLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CompletedPercentLte(completedPercent uint32) ImportQuerySet {
	return qs.w(qs.db.Where("completed_percent <= ?", completedPercent))
}

// CompletedPercentNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CompletedPercentNe(completedPercent uint32) ImportQuerySet {
	return qs.w(qs.db.Where("completed_percent != ?", completedPercent))
}

// CompletedPercentNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CompletedPercentNotIn(completedPercent ...uint32) ImportQuerySet {
	if len(completedPercent) == 0 {
		qs.db.AddError(errors.New("must at least pass one completedPercent in CompletedPercentNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("completed_percent NOT IN (?)", completedPercent))
}

// CompletedTablesEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CompletedTablesEq(completedTables uint32) ImportQuerySet {
	return qs.w(qs.db.Where("completed_tables = ?", completedTables))
}

// CompletedTablesGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CompletedTablesGt(completedTables uint32) ImportQuerySet {
	return qs.w(qs.db.Where("completed_tables > ?", completedTables))
}

// CompletedTablesGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CompletedTablesGte(completedTables uint32) ImportQuerySet {
	return qs.w(qs.db.Where("completed_tables >= ?", completedTables))
}

// CompletedTablesIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CompletedTablesIn(completedTables ...uint32) ImportQuerySet {
	if len(completedTables) == 0 {
		qs.db.AddError(errors.New("must at least pass one completedTables in CompletedTablesIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("completed_tables IN (?)", completedTables))
}

// CompletedTablesLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CompletedTablesLt(completedTables uint32) ImportQuerySet {
	return qs.w(qs.db.Where("completed_tables < ?", completedTables))
}

// CompletedTablesLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CompletedTablesLte(completedTables uint32) ImportQuerySet {
	return qs.w(qs.db.Where("completed_tables <= ?", completedTables))
}

// CompletedTablesNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CompletedTablesNe(completedTables uint32) ImportQuerySet {
	return qs.w(qs.db.Where("completed_tables != ?", completedTables))
}

// CompletedTablesNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CompletedTablesNotIn(completedTables ...uint32) ImportQuerySet {
	if len(completedTables) == 0 {
		qs.db.AddError(errors.New("must at least pass one completedTables in CompletedTablesNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("completed_tables NOT IN (?)", completedTables))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CreatedAtEq(createdAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CreatedAtGt(createdAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CreatedAtGte(createdAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CreatedAtLt(createdAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CreatedAtLte(createdAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) CreatedAtNe(createdAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// DataFormatEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DataFormatEq(dataFormat DataFormat) ImportQuerySet {
	return qs.w(qs.db.Where("data_format = ?", dataFormat))
}

// DataFormatGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DataFormatGt(dataFormat DataFormat) ImportQuerySet {
	return qs.w(qs.db.Where("data_format > ?", dataFormat))
}

// DataFormatGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DataFormatGte(dataFormat DataFormat) ImportQuerySet {
	return qs.w(qs.db.Where("data_format >= ?", dataFormat))
}

// DataFormatIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DataFormatIn(dataFormat ...DataFormat) ImportQuerySet {
	if len(dataFormat) == 0 {
		qs.db.AddError(errors.New("must at least pass one dataFormat in DataFormatIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("data_format IN (?)", dataFormat))
}

// DataFormatLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DataFormatLt(dataFormat DataFormat) ImportQuerySet {
	return qs.w(qs.db.Where("data_format < ?", dataFormat))
}

// DataFormatLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DataFormatLte(dataFormat DataFormat) ImportQuerySet {
	return qs.w(qs.db.Where("data_format <= ?", dataFormat))
}

// DataFormatNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DataFormatNe(dataFormat DataFormat) ImportQuerySet {
	return qs.w(qs.db.Where("data_format != ?", dataFormat))
}

// DataFormatNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DataFormatNotIn(dataFormat ...DataFormat) ImportQuerySet {
	if len(dataFormat) == 0 {
		qs.db.AddError(errors.New("must at least pass one dataFormat in DataFormatNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("data_format NOT IN (?)", dataFormat))
}

// DataSourceTypeEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DataSourceTypeEq(dataSourceType DataSource) ImportQuerySet {
	return qs.w(qs.db.Where("data_source_type = ?", dataSourceType))
}

// DataSourceTypeGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DataSourceTypeGt(dataSourceType DataSource) ImportQuerySet {
	return qs.w(qs.db.Where("data_source_type > ?", dataSourceType))
}

// DataSourceTypeGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DataSourceTypeGte(dataSourceType DataSource) ImportQuerySet {
	return qs.w(qs.db.Where("data_source_type >= ?", dataSourceType))
}

// DataSourceTypeIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DataSourceTypeIn(dataSourceType ...DataSource) ImportQuerySet {
	if len(dataSourceType) == 0 {
		qs.db.AddError(errors.New("must at least pass one dataSourceType in DataSourceTypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("data_source_type IN (?)", dataSourceType))
}

// DataSourceTypeLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DataSourceTypeLt(dataSourceType DataSource) ImportQuerySet {
	return qs.w(qs.db.Where("data_source_type < ?", dataSourceType))
}

// DataSourceTypeLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DataSourceTypeLte(dataSourceType DataSource) ImportQuerySet {
	return qs.w(qs.db.Where("data_source_type <= ?", dataSourceType))
}

// DataSourceTypeNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DataSourceTypeNe(dataSourceType DataSource) ImportQuerySet {
	return qs.w(qs.db.Where("data_source_type != ?", dataSourceType))
}

// DataSourceTypeNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DataSourceTypeNotIn(dataSourceType ...DataSource) ImportQuerySet {
	if len(dataSourceType) == 0 {
		qs.db.AddError(errors.New("must at least pass one dataSourceType in DataSourceTypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("data_source_type NOT IN (?)", dataSourceType))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) Delete() error {
	return qs.db.Delete(&Import{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Import{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Import{})
	return db.RowsAffected, db.Error
}

// FilterEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FilterEq(filter string) ImportQuerySet {
	return qs.w(qs.db.Where("filter = ?", filter))
}

// FilterGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FilterGt(filter string) ImportQuerySet {
	return qs.w(qs.db.Where("filter > ?", filter))
}

// FilterGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FilterGte(filter string) ImportQuerySet {
	return qs.w(qs.db.Where("filter >= ?", filter))
}

// FilterIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FilterIn(filter ...string) ImportQuerySet {
	if len(filter) == 0 {
		qs.db.AddError(errors.New("must at least pass one filter in FilterIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("filter IN (?)", filter))
}

// FilterLike is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FilterLike(filter string) ImportQuerySet {
	return qs.w(qs.db.Where("filter LIKE ?", filter))
}

// FilterLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FilterLt(filter string) ImportQuerySet {
	return qs.w(qs.db.Where("filter < ?", filter))
}

// FilterLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FilterLte(filter string) ImportQuerySet {
	return qs.w(qs.db.Where("filter <= ?", filter))
}

// FilterNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FilterNe(filter string) ImportQuerySet {
	return qs.w(qs.db.Where("filter != ?", filter))
}

// FilterNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FilterNotIn(filter ...string) ImportQuerySet {
	if len(filter) == 0 {
		qs.db.AddError(errors.New("must at least pass one filter in FilterNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("filter NOT IN (?)", filter))
}

// FilterNotlike is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FilterNotlike(filter string) ImportQuerySet {
	return qs.w(qs.db.Where("filter NOT LIKE ?", filter))
}

// FinishedAtEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FinishedAtEq(finishedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("finished_at = ?", finishedAt))
}

// FinishedAtGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FinishedAtGt(finishedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("finished_at > ?", finishedAt))
}

// FinishedAtGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FinishedAtGte(finishedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("finished_at >= ?", finishedAt))
}

// FinishedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FinishedAtIsNotNull() ImportQuerySet {
	return qs.w(qs.db.Where("finished_at IS NOT NULL"))
}

// FinishedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FinishedAtIsNull() ImportQuerySet {
	return qs.w(qs.db.Where("finished_at IS NULL"))
}

// FinishedAtLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FinishedAtLt(finishedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("finished_at < ?", finishedAt))
}

// FinishedAtLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FinishedAtLte(finishedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("finished_at <= ?", finishedAt))
}

// FinishedAtNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) FinishedAtNe(finishedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("finished_at != ?", finishedAt))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) GetUpdater() ImportUpdater {
	return NewImportUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) IDEq(ID ID) ImportQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) IDGt(ID ID) ImportQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) IDGte(ID ID) ImportQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) IDIn(ID ...ID) ImportQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) IDLt(ID ID) ImportQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) IDLte(ID ID) ImportQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) IDNe(ID ID) ImportQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) IDNotIn(ID ...ID) ImportQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) Limit(limit int) ImportQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// MessageEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) MessageEq(message string) ImportQuerySet {
	return qs.w(qs.db.Where("message = ?", message))
}

// MessageGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) MessageGt(message string) ImportQuerySet {
	return qs.w(qs.db.Where("message > ?", message))
}

// MessageGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) MessageGte(message string) ImportQuerySet {
	return qs.w(qs.db.Where("message >= ?", message))
}

// MessageIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) MessageIn(message ...string) ImportQuerySet {
	if len(message) == 0 {
		qs.db.AddError(errors.New("must at least pass one message in MessageIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("message IN (?)", message))
}

// MessageLike is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) MessageLike(message string) ImportQuerySet {
	return qs.w(qs.db.Where("message LIKE ?", message))
}

// MessageLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) MessageLt(message string) ImportQuerySet {
	return qs.w(qs.db.Where("message < ?", message))
}

// MessageLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) MessageLte(message string) ImportQuerySet {
	return qs.w(qs.db.Where("message <= ?", message))
}

// MessageNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) MessageNe(message string) ImportQuerySet {
	return qs.w(qs.db.Where("message != ?", message))
}

// MessageNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) MessageNotIn(message ...string) ImportQuerySet {
	if len(message) == 0 {
		qs.db.AddError(errors.New("must at least pass one message in MessageNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("message NOT IN (?)", message))
}

// MessageNotlike is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) MessageNotlike(message string) ImportQuerySet {
	return qs.w(qs.db.Where("message NOT LIKE ?", message))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) Offset(offset int) ImportQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// OldIDEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OldIDEq(oldID uint64) ImportQuerySet {
	return qs.w(qs.db.Where("old_id = ?", oldID))
}

// OldIDGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OldIDGt(oldID uint64) ImportQuerySet {
	return qs.w(qs.db.Where("old_id > ?", oldID))
}

// OldIDGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OldIDGte(oldID uint64) ImportQuerySet {
	return qs.w(qs.db.Where("old_id >= ?", oldID))
}

// OldIDIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OldIDIn(oldID ...uint64) ImportQuerySet {
	if len(oldID) == 0 {
		qs.db.AddError(errors.New("must at least pass one oldID in OldIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("old_id IN (?)", oldID))
}

// OldIDIsNotNull is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OldIDIsNotNull() ImportQuerySet {
	return qs.w(qs.db.Where("old_id IS NOT NULL"))
}

// OldIDIsNull is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OldIDIsNull() ImportQuerySet {
	return qs.w(qs.db.Where("old_id IS NULL"))
}

// OldIDLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OldIDLt(oldID uint64) ImportQuerySet {
	return qs.w(qs.db.Where("old_id < ?", oldID))
}

// OldIDLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OldIDLte(oldID uint64) ImportQuerySet {
	return qs.w(qs.db.Where("old_id <= ?", oldID))
}

// OldIDNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OldIDNe(oldID uint64) ImportQuerySet {
	return qs.w(qs.db.Where("old_id != ?", oldID))
}

// OldIDNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OldIDNotIn(oldID ...uint64) ImportQuerySet {
	if len(oldID) == 0 {
		qs.db.AddError(errors.New("must at least pass one oldID in OldIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("old_id NOT IN (?)", oldID))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ImportQuerySet) One(ret *Import) error {
	return qs.db.First(ret).Error
}

// OrderAscByBucketRegion is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByBucketRegion() ImportQuerySet {
	return qs.w(qs.db.Order("bucket_region ASC"))
}

// OrderAscByCleanUp is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByCleanUp() ImportQuerySet {
	return qs.w(qs.db.Order("clean_up ASC"))
}

// OrderAscByClusterID is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByClusterID() ImportQuerySet {
	return qs.w(qs.db.Order("cluster_id ASC"))
}

// OrderAscByCompletedPercent is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByCompletedPercent() ImportQuerySet {
	return qs.w(qs.db.Order("completed_percent ASC"))
}

// OrderAscByCompletedTables is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByCompletedTables() ImportQuerySet {
	return qs.w(qs.db.Order("completed_tables ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByCreatedAt() ImportQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDataFormat is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByDataFormat() ImportQuerySet {
	return qs.w(qs.db.Order("data_format ASC"))
}

// OrderAscByDataSourceType is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByDataSourceType() ImportQuerySet {
	return qs.w(qs.db.Order("data_source_type ASC"))
}

// OrderAscByFilter is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByFilter() ImportQuerySet {
	return qs.w(qs.db.Order("filter ASC"))
}

// OrderAscByFinishedAt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByFinishedAt() ImportQuerySet {
	return qs.w(qs.db.Order("finished_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByID() ImportQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByMessage is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByMessage() ImportQuerySet {
	return qs.w(qs.db.Order("message ASC"))
}

// OrderAscByOldID is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByOldID() ImportQuerySet {
	return qs.w(qs.db.Order("old_id ASC"))
}

// OrderAscByPendingTables is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByPendingTables() ImportQuerySet {
	return qs.w(qs.db.Order("pending_tables ASC"))
}

// OrderAscBySourceURL is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscBySourceURL() ImportQuerySet {
	return qs.w(qs.db.Order("source_url ASC"))
}

// OrderAscByStartedAt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByStartedAt() ImportQuerySet {
	return qs.w(qs.db.Order("started_at ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByStatus() ImportQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByTargetPassword is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByTargetPassword() ImportQuerySet {
	return qs.w(qs.db.Order("target_password ASC"))
}

// OrderAscByTargetUsername is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByTargetUsername() ImportQuerySet {
	return qs.w(qs.db.Order("target_username ASC"))
}

// OrderAscByTotalFiles is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByTotalFiles() ImportQuerySet {
	return qs.w(qs.db.Order("total_files ASC"))
}

// OrderAscByTotalSize is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByTotalSize() ImportQuerySet {
	return qs.w(qs.db.Order("total_size ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderAscByUpdatedAt() ImportQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByBucketRegion is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByBucketRegion() ImportQuerySet {
	return qs.w(qs.db.Order("bucket_region DESC"))
}

// OrderDescByCleanUp is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByCleanUp() ImportQuerySet {
	return qs.w(qs.db.Order("clean_up DESC"))
}

// OrderDescByClusterID is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByClusterID() ImportQuerySet {
	return qs.w(qs.db.Order("cluster_id DESC"))
}

// OrderDescByCompletedPercent is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByCompletedPercent() ImportQuerySet {
	return qs.w(qs.db.Order("completed_percent DESC"))
}

// OrderDescByCompletedTables is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByCompletedTables() ImportQuerySet {
	return qs.w(qs.db.Order("completed_tables DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByCreatedAt() ImportQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDataFormat is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByDataFormat() ImportQuerySet {
	return qs.w(qs.db.Order("data_format DESC"))
}

// OrderDescByDataSourceType is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByDataSourceType() ImportQuerySet {
	return qs.w(qs.db.Order("data_source_type DESC"))
}

// OrderDescByFilter is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByFilter() ImportQuerySet {
	return qs.w(qs.db.Order("filter DESC"))
}

// OrderDescByFinishedAt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByFinishedAt() ImportQuerySet {
	return qs.w(qs.db.Order("finished_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByID() ImportQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByMessage is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByMessage() ImportQuerySet {
	return qs.w(qs.db.Order("message DESC"))
}

// OrderDescByOldID is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByOldID() ImportQuerySet {
	return qs.w(qs.db.Order("old_id DESC"))
}

// OrderDescByPendingTables is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByPendingTables() ImportQuerySet {
	return qs.w(qs.db.Order("pending_tables DESC"))
}

// OrderDescBySourceURL is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescBySourceURL() ImportQuerySet {
	return qs.w(qs.db.Order("source_url DESC"))
}

// OrderDescByStartedAt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByStartedAt() ImportQuerySet {
	return qs.w(qs.db.Order("started_at DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByStatus() ImportQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByTargetPassword is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByTargetPassword() ImportQuerySet {
	return qs.w(qs.db.Order("target_password DESC"))
}

// OrderDescByTargetUsername is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByTargetUsername() ImportQuerySet {
	return qs.w(qs.db.Order("target_username DESC"))
}

// OrderDescByTotalFiles is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByTotalFiles() ImportQuerySet {
	return qs.w(qs.db.Order("total_files DESC"))
}

// OrderDescByTotalSize is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByTotalSize() ImportQuerySet {
	return qs.w(qs.db.Order("total_size DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) OrderDescByUpdatedAt() ImportQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PendingTablesEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) PendingTablesEq(pendingTables uint32) ImportQuerySet {
	return qs.w(qs.db.Where("pending_tables = ?", pendingTables))
}

// PendingTablesGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) PendingTablesGt(pendingTables uint32) ImportQuerySet {
	return qs.w(qs.db.Where("pending_tables > ?", pendingTables))
}

// PendingTablesGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) PendingTablesGte(pendingTables uint32) ImportQuerySet {
	return qs.w(qs.db.Where("pending_tables >= ?", pendingTables))
}

// PendingTablesIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) PendingTablesIn(pendingTables ...uint32) ImportQuerySet {
	if len(pendingTables) == 0 {
		qs.db.AddError(errors.New("must at least pass one pendingTables in PendingTablesIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("pending_tables IN (?)", pendingTables))
}

// PendingTablesLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) PendingTablesLt(pendingTables uint32) ImportQuerySet {
	return qs.w(qs.db.Where("pending_tables < ?", pendingTables))
}

// PendingTablesLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) PendingTablesLte(pendingTables uint32) ImportQuerySet {
	return qs.w(qs.db.Where("pending_tables <= ?", pendingTables))
}

// PendingTablesNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) PendingTablesNe(pendingTables uint32) ImportQuerySet {
	return qs.w(qs.db.Where("pending_tables != ?", pendingTables))
}

// PendingTablesNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) PendingTablesNotIn(pendingTables ...uint32) ImportQuerySet {
	if len(pendingTables) == 0 {
		qs.db.AddError(errors.New("must at least pass one pendingTables in PendingTablesNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("pending_tables NOT IN (?)", pendingTables))
}

// PreloadCluster is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) PreloadCluster() ImportQuerySet {
	return qs.w(qs.db.Preload("Cluster"))
}

// PreloadCurrentTables is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) PreloadCurrentTables() ImportQuerySet {
	return qs.w(qs.db.Preload("CurrentTables"))
}

// SourceURLEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) SourceURLEq(sourceURL string) ImportQuerySet {
	return qs.w(qs.db.Where("source_url = ?", sourceURL))
}

// SourceURLGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) SourceURLGt(sourceURL string) ImportQuerySet {
	return qs.w(qs.db.Where("source_url > ?", sourceURL))
}

// SourceURLGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) SourceURLGte(sourceURL string) ImportQuerySet {
	return qs.w(qs.db.Where("source_url >= ?", sourceURL))
}

// SourceURLIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) SourceURLIn(sourceURL ...string) ImportQuerySet {
	if len(sourceURL) == 0 {
		qs.db.AddError(errors.New("must at least pass one sourceURL in SourceURLIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("source_url IN (?)", sourceURL))
}

// SourceURLLike is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) SourceURLLike(sourceURL string) ImportQuerySet {
	return qs.w(qs.db.Where("source_url LIKE ?", sourceURL))
}

// SourceURLLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) SourceURLLt(sourceURL string) ImportQuerySet {
	return qs.w(qs.db.Where("source_url < ?", sourceURL))
}

// SourceURLLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) SourceURLLte(sourceURL string) ImportQuerySet {
	return qs.w(qs.db.Where("source_url <= ?", sourceURL))
}

// SourceURLNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) SourceURLNe(sourceURL string) ImportQuerySet {
	return qs.w(qs.db.Where("source_url != ?", sourceURL))
}

// SourceURLNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) SourceURLNotIn(sourceURL ...string) ImportQuerySet {
	if len(sourceURL) == 0 {
		qs.db.AddError(errors.New("must at least pass one sourceURL in SourceURLNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("source_url NOT IN (?)", sourceURL))
}

// SourceURLNotlike is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) SourceURLNotlike(sourceURL string) ImportQuerySet {
	return qs.w(qs.db.Where("source_url NOT LIKE ?", sourceURL))
}

// StartedAtEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StartedAtEq(startedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("started_at = ?", startedAt))
}

// StartedAtGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StartedAtGt(startedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("started_at > ?", startedAt))
}

// StartedAtGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StartedAtGte(startedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("started_at >= ?", startedAt))
}

// StartedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StartedAtIsNotNull() ImportQuerySet {
	return qs.w(qs.db.Where("started_at IS NOT NULL"))
}

// StartedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StartedAtIsNull() ImportQuerySet {
	return qs.w(qs.db.Where("started_at IS NULL"))
}

// StartedAtLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StartedAtLt(startedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("started_at < ?", startedAt))
}

// StartedAtLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StartedAtLte(startedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("started_at <= ?", startedAt))
}

// StartedAtNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StartedAtNe(startedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("started_at != ?", startedAt))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StatusEq(status ImportStatus) ImportQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StatusGt(status ImportStatus) ImportQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StatusGte(status ImportStatus) ImportQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StatusIn(status ...ImportStatus) ImportQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StatusLike(status ImportStatus) ImportQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StatusLt(status ImportStatus) ImportQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StatusLte(status ImportStatus) ImportQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StatusNe(status ImportStatus) ImportQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StatusNotIn(status ...ImportStatus) ImportQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) StatusNotlike(status ImportStatus) ImportQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// TargetPasswordEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetPasswordEq(targetPassword string) ImportQuerySet {
	return qs.w(qs.db.Where("target_password = ?", targetPassword))
}

// TargetPasswordGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetPasswordGt(targetPassword string) ImportQuerySet {
	return qs.w(qs.db.Where("target_password > ?", targetPassword))
}

// TargetPasswordGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetPasswordGte(targetPassword string) ImportQuerySet {
	return qs.w(qs.db.Where("target_password >= ?", targetPassword))
}

// TargetPasswordIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetPasswordIn(targetPassword ...string) ImportQuerySet {
	if len(targetPassword) == 0 {
		qs.db.AddError(errors.New("must at least pass one targetPassword in TargetPasswordIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("target_password IN (?)", targetPassword))
}

// TargetPasswordLike is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetPasswordLike(targetPassword string) ImportQuerySet {
	return qs.w(qs.db.Where("target_password LIKE ?", targetPassword))
}

// TargetPasswordLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetPasswordLt(targetPassword string) ImportQuerySet {
	return qs.w(qs.db.Where("target_password < ?", targetPassword))
}

// TargetPasswordLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetPasswordLte(targetPassword string) ImportQuerySet {
	return qs.w(qs.db.Where("target_password <= ?", targetPassword))
}

// TargetPasswordNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetPasswordNe(targetPassword string) ImportQuerySet {
	return qs.w(qs.db.Where("target_password != ?", targetPassword))
}

// TargetPasswordNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetPasswordNotIn(targetPassword ...string) ImportQuerySet {
	if len(targetPassword) == 0 {
		qs.db.AddError(errors.New("must at least pass one targetPassword in TargetPasswordNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("target_password NOT IN (?)", targetPassword))
}

// TargetPasswordNotlike is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetPasswordNotlike(targetPassword string) ImportQuerySet {
	return qs.w(qs.db.Where("target_password NOT LIKE ?", targetPassword))
}

// TargetUsernameEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetUsernameEq(targetUsername string) ImportQuerySet {
	return qs.w(qs.db.Where("target_username = ?", targetUsername))
}

// TargetUsernameGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetUsernameGt(targetUsername string) ImportQuerySet {
	return qs.w(qs.db.Where("target_username > ?", targetUsername))
}

// TargetUsernameGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetUsernameGte(targetUsername string) ImportQuerySet {
	return qs.w(qs.db.Where("target_username >= ?", targetUsername))
}

// TargetUsernameIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetUsernameIn(targetUsername ...string) ImportQuerySet {
	if len(targetUsername) == 0 {
		qs.db.AddError(errors.New("must at least pass one targetUsername in TargetUsernameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("target_username IN (?)", targetUsername))
}

// TargetUsernameLike is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetUsernameLike(targetUsername string) ImportQuerySet {
	return qs.w(qs.db.Where("target_username LIKE ?", targetUsername))
}

// TargetUsernameLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetUsernameLt(targetUsername string) ImportQuerySet {
	return qs.w(qs.db.Where("target_username < ?", targetUsername))
}

// TargetUsernameLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetUsernameLte(targetUsername string) ImportQuerySet {
	return qs.w(qs.db.Where("target_username <= ?", targetUsername))
}

// TargetUsernameNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetUsernameNe(targetUsername string) ImportQuerySet {
	return qs.w(qs.db.Where("target_username != ?", targetUsername))
}

// TargetUsernameNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetUsernameNotIn(targetUsername ...string) ImportQuerySet {
	if len(targetUsername) == 0 {
		qs.db.AddError(errors.New("must at least pass one targetUsername in TargetUsernameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("target_username NOT IN (?)", targetUsername))
}

// TargetUsernameNotlike is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TargetUsernameNotlike(targetUsername string) ImportQuerySet {
	return qs.w(qs.db.Where("target_username NOT LIKE ?", targetUsername))
}

// TotalFilesEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalFilesEq(totalFiles uint32) ImportQuerySet {
	return qs.w(qs.db.Where("total_files = ?", totalFiles))
}

// TotalFilesGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalFilesGt(totalFiles uint32) ImportQuerySet {
	return qs.w(qs.db.Where("total_files > ?", totalFiles))
}

// TotalFilesGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalFilesGte(totalFiles uint32) ImportQuerySet {
	return qs.w(qs.db.Where("total_files >= ?", totalFiles))
}

// TotalFilesIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalFilesIn(totalFiles ...uint32) ImportQuerySet {
	if len(totalFiles) == 0 {
		qs.db.AddError(errors.New("must at least pass one totalFiles in TotalFilesIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("total_files IN (?)", totalFiles))
}

// TotalFilesIsNotNull is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalFilesIsNotNull() ImportQuerySet {
	return qs.w(qs.db.Where("total_files IS NOT NULL"))
}

// TotalFilesIsNull is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalFilesIsNull() ImportQuerySet {
	return qs.w(qs.db.Where("total_files IS NULL"))
}

// TotalFilesLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalFilesLt(totalFiles uint32) ImportQuerySet {
	return qs.w(qs.db.Where("total_files < ?", totalFiles))
}

// TotalFilesLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalFilesLte(totalFiles uint32) ImportQuerySet {
	return qs.w(qs.db.Where("total_files <= ?", totalFiles))
}

// TotalFilesNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalFilesNe(totalFiles uint32) ImportQuerySet {
	return qs.w(qs.db.Where("total_files != ?", totalFiles))
}

// TotalFilesNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalFilesNotIn(totalFiles ...uint32) ImportQuerySet {
	if len(totalFiles) == 0 {
		qs.db.AddError(errors.New("must at least pass one totalFiles in TotalFilesNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("total_files NOT IN (?)", totalFiles))
}

// TotalSizeEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalSizeEq(totalSize uint64) ImportQuerySet {
	return qs.w(qs.db.Where("total_size = ?", totalSize))
}

// TotalSizeGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalSizeGt(totalSize uint64) ImportQuerySet {
	return qs.w(qs.db.Where("total_size > ?", totalSize))
}

// TotalSizeGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalSizeGte(totalSize uint64) ImportQuerySet {
	return qs.w(qs.db.Where("total_size >= ?", totalSize))
}

// TotalSizeIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalSizeIn(totalSize ...uint64) ImportQuerySet {
	if len(totalSize) == 0 {
		qs.db.AddError(errors.New("must at least pass one totalSize in TotalSizeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("total_size IN (?)", totalSize))
}

// TotalSizeIsNotNull is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalSizeIsNotNull() ImportQuerySet {
	return qs.w(qs.db.Where("total_size IS NOT NULL"))
}

// TotalSizeIsNull is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalSizeIsNull() ImportQuerySet {
	return qs.w(qs.db.Where("total_size IS NULL"))
}

// TotalSizeLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalSizeLt(totalSize uint64) ImportQuerySet {
	return qs.w(qs.db.Where("total_size < ?", totalSize))
}

// TotalSizeLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalSizeLte(totalSize uint64) ImportQuerySet {
	return qs.w(qs.db.Where("total_size <= ?", totalSize))
}

// TotalSizeNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalSizeNe(totalSize uint64) ImportQuerySet {
	return qs.w(qs.db.Where("total_size != ?", totalSize))
}

// TotalSizeNotIn is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) TotalSizeNotIn(totalSize ...uint64) ImportQuerySet {
	if len(totalSize) == 0 {
		qs.db.AddError(errors.New("must at least pass one totalSize in TotalSizeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("total_size NOT IN (?)", totalSize))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) UpdatedAtEq(updatedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) UpdatedAtGt(updatedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) UpdatedAtGte(updatedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) UpdatedAtIsNotNull() ImportQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) UpdatedAtIsNull() ImportQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) UpdatedAtLt(updatedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) UpdatedAtLte(updatedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ImportQuerySet) UpdatedAtNe(updatedAt time.Time) ImportQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetBucketRegion is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetBucketRegion(bucketRegion string) ImportUpdater {
	u.fields[string(ImportDBSchema.BucketRegion)] = bucketRegion
	return u
}

// SetCleanUp is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetCleanUp(cleanUp bool) ImportUpdater {
	u.fields[string(ImportDBSchema.CleanUp)] = cleanUp
	return u
}

// SetClusterID is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetClusterID(clusterID ID) ImportUpdater {
	u.fields[string(ImportDBSchema.ClusterID)] = clusterID
	return u
}

// SetCompletedPercent is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetCompletedPercent(completedPercent uint32) ImportUpdater {
	u.fields[string(ImportDBSchema.CompletedPercent)] = completedPercent
	return u
}

// SetCompletedTables is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetCompletedTables(completedTables uint32) ImportUpdater {
	u.fields[string(ImportDBSchema.CompletedTables)] = completedTables
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetCreatedAt(createdAt time.Time) ImportUpdater {
	u.fields[string(ImportDBSchema.CreatedAt)] = createdAt
	return u
}

// SetCurrentTables is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetCurrentTables(currentTables CurrentTables) ImportUpdater {
	u.fields[string(ImportDBSchema.CurrentTables)] = currentTables
	return u
}

// SetDataFormat is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetDataFormat(dataFormat DataFormat) ImportUpdater {
	u.fields[string(ImportDBSchema.DataFormat)] = dataFormat
	return u
}

// SetDataSourceType is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetDataSourceType(dataSourceType DataSource) ImportUpdater {
	u.fields[string(ImportDBSchema.DataSourceType)] = dataSourceType
	return u
}

// SetFilter is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetFilter(filter string) ImportUpdater {
	u.fields[string(ImportDBSchema.Filter)] = filter
	return u
}

// SetFinishedAt is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetFinishedAt(finishedAt *time.Time) ImportUpdater {
	u.fields[string(ImportDBSchema.FinishedAt)] = finishedAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetID(ID ID) ImportUpdater {
	u.fields[string(ImportDBSchema.ID)] = ID
	return u
}

// SetMessage is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetMessage(message string) ImportUpdater {
	u.fields[string(ImportDBSchema.Message)] = message
	return u
}

// SetOldID is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetOldID(oldID *uint64) ImportUpdater {
	u.fields[string(ImportDBSchema.OldID)] = oldID
	return u
}

// SetPendingTables is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetPendingTables(pendingTables uint32) ImportUpdater {
	u.fields[string(ImportDBSchema.PendingTables)] = pendingTables
	return u
}

// SetSourceURL is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetSourceURL(sourceURL string) ImportUpdater {
	u.fields[string(ImportDBSchema.SourceURL)] = sourceURL
	return u
}

// SetStartedAt is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetStartedAt(startedAt *time.Time) ImportUpdater {
	u.fields[string(ImportDBSchema.StartedAt)] = startedAt
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetStatus(status ImportStatus) ImportUpdater {
	u.fields[string(ImportDBSchema.Status)] = status
	return u
}

// SetTargetPassword is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetTargetPassword(targetPassword string) ImportUpdater {
	u.fields[string(ImportDBSchema.TargetPassword)] = targetPassword
	return u
}

// SetTargetUsername is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetTargetUsername(targetUsername string) ImportUpdater {
	u.fields[string(ImportDBSchema.TargetUsername)] = targetUsername
	return u
}

// SetTotalFiles is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetTotalFiles(totalFiles *uint32) ImportUpdater {
	u.fields[string(ImportDBSchema.TotalFiles)] = totalFiles
	return u
}

// SetTotalSize is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetTotalSize(totalSize *uint64) ImportUpdater {
	u.fields[string(ImportDBSchema.TotalSize)] = totalSize
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ImportUpdater) SetUpdatedAt(updatedAt *time.Time) ImportUpdater {
	u.fields[string(ImportDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ImportUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ImportUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ImportQuerySet

// ===== BEGIN of Import modifiers

// ImportDBSchemaField describes database schema field. It requires for method 'Update'
type ImportDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ImportDBSchemaField) String() string {
	return string(f)
}

// ImportDBSchema stores db field names of Import
var ImportDBSchema = struct {
	ID               ImportDBSchemaField
	CreatedAt        ImportDBSchemaField
	UpdatedAt        ImportDBSchemaField
	OldID            ImportDBSchemaField
	ClusterID        ImportDBSchemaField
	Cluster          ImportDBSchemaField
	Status           ImportDBSchemaField
	Message          ImportDBSchemaField
	StartedAt        ImportDBSchemaField
	FinishedAt       ImportDBSchemaField
	CleanUp          ImportDBSchemaField
	BucketRegion     ImportDBSchemaField
	DataFormat       ImportDBSchemaField
	DataSourceType   ImportDBSchemaField
	TargetUsername   ImportDBSchemaField
	TargetPassword   ImportDBSchemaField
	Filter           ImportDBSchemaField
	TotalSize        ImportDBSchemaField
	TotalFiles       ImportDBSchemaField
	SourceURL        ImportDBSchemaField
	CurrentTables    ImportDBSchemaField
	CompletedTables  ImportDBSchemaField
	PendingTables    ImportDBSchemaField
	CompletedPercent ImportDBSchemaField
}{

	ID:               ImportDBSchemaField("id"),
	CreatedAt:        ImportDBSchemaField("created_at"),
	UpdatedAt:        ImportDBSchemaField("updated_at"),
	OldID:            ImportDBSchemaField("old_id"),
	ClusterID:        ImportDBSchemaField("cluster_id"),
	Cluster:          ImportDBSchemaField("cluster"),
	Status:           ImportDBSchemaField("status"),
	Message:          ImportDBSchemaField("message"),
	StartedAt:        ImportDBSchemaField("started_at"),
	FinishedAt:       ImportDBSchemaField("finished_at"),
	CleanUp:          ImportDBSchemaField("clean_up"),
	BucketRegion:     ImportDBSchemaField("bucket_region"),
	DataFormat:       ImportDBSchemaField("data_format"),
	DataSourceType:   ImportDBSchemaField("data_source_type"),
	TargetUsername:   ImportDBSchemaField("target_username"),
	TargetPassword:   ImportDBSchemaField("target_password"),
	Filter:           ImportDBSchemaField("filter"),
	TotalSize:        ImportDBSchemaField("total_size"),
	TotalFiles:       ImportDBSchemaField("total_files"),
	SourceURL:        ImportDBSchemaField("source_url"),
	CurrentTables:    ImportDBSchemaField("current_tables"),
	CompletedTables:  ImportDBSchemaField("completed_tables"),
	PendingTables:    ImportDBSchemaField("pending_tables"),
	CompletedPercent: ImportDBSchemaField("completed_percent"),
}

// Update updates Import fields by primary key
// nolint: dupl
func (o *Import) Update(db *gorm.DB, fields ...ImportDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                o.ID,
		"created_at":        o.CreatedAt,
		"updated_at":        o.UpdatedAt,
		"old_id":            o.OldID,
		"cluster_id":        o.ClusterID,
		"cluster":           o.Cluster,
		"status":            o.Status,
		"message":           o.Message,
		"started_at":        o.StartedAt,
		"finished_at":       o.FinishedAt,
		"clean_up":          o.CleanUp,
		"bucket_region":     o.BucketRegion,
		"data_format":       o.DataFormat,
		"data_source_type":  o.DataSourceType,
		"target_username":   o.TargetUsername,
		"target_password":   o.TargetPassword,
		"filter":            o.Filter,
		"total_size":        o.TotalSize,
		"total_files":       o.TotalFiles,
		"source_url":        o.SourceURL,
		"current_tables":    o.CurrentTables,
		"completed_tables":  o.CompletedTables,
		"pending_tables":    o.PendingTables,
		"completed_percent": o.CompletedPercent,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Import %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ImportUpdater is an Import updates manager
type ImportUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewImportUpdater creates new Import updater
// nolint: dupl
func NewImportUpdater(db *gorm.DB) ImportUpdater {
	return ImportUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Import{}),
	}
}

// ===== END of Import modifiers

// ===== BEGIN of query set KMSQuerySet

// KMSQuerySet is an queryset type for KMS
type KMSQuerySet struct {
	db *gorm.DB
}

// NewKMSQuerySet constructs new KMSQuerySet
func NewKMSQuerySet(db *gorm.DB) KMSQuerySet {
	return KMSQuerySet{
		db: db.Model(&KMS{}),
	}
}

func (qs KMSQuerySet) w(db *gorm.DB) KMSQuerySet {
	return NewKMSQuerySet(db)
}

func (qs KMSQuerySet) Select(fields ...KMSDBSchemaField) KMSQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *KMS) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *KMS) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) All(ret *[]KMS) error {
	return qs.db.Find(ret).Error
}

// ClusterIDEq is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) ClusterIDEq(clusterID ID) KMSQuerySet {
	return qs.w(qs.db.Where("cluster_id = ?", clusterID))
}

// ClusterIDGt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) ClusterIDGt(clusterID ID) KMSQuerySet {
	return qs.w(qs.db.Where("cluster_id > ?", clusterID))
}

// ClusterIDGte is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) ClusterIDGte(clusterID ID) KMSQuerySet {
	return qs.w(qs.db.Where("cluster_id >= ?", clusterID))
}

// ClusterIDIn is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) ClusterIDIn(clusterID ...ID) KMSQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id IN (?)", clusterID))
}

// ClusterIDLt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) ClusterIDLt(clusterID ID) KMSQuerySet {
	return qs.w(qs.db.Where("cluster_id < ?", clusterID))
}

// ClusterIDLte is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) ClusterIDLte(clusterID ID) KMSQuerySet {
	return qs.w(qs.db.Where("cluster_id <= ?", clusterID))
}

// ClusterIDNe is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) ClusterIDNe(clusterID ID) KMSQuerySet {
	return qs.w(qs.db.Where("cluster_id != ?", clusterID))
}

// ClusterIDNotIn is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) ClusterIDNotIn(clusterID ...ID) KMSQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id NOT IN (?)", clusterID))
}

// ClusterIsNotNull is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) ClusterIsNotNull() KMSQuerySet {
	return qs.w(qs.db.Where("cluster IS NOT NULL"))
}

// ClusterIsNull is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) ClusterIsNull() KMSQuerySet {
	return qs.w(qs.db.Where("cluster IS NULL"))
}

// Count is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) CreatedAtEq(createdAt time.Time) KMSQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) CreatedAtGt(createdAt time.Time) KMSQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) CreatedAtGte(createdAt time.Time) KMSQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) CreatedAtLt(createdAt time.Time) KMSQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) CreatedAtLte(createdAt time.Time) KMSQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) CreatedAtNe(createdAt time.Time) KMSQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) Delete() error {
	return qs.db.Delete(&KMS{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&KMS{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&KMS{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) GetUpdater() KMSUpdater {
	return NewKMSUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) IDEq(ID ID) KMSQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) IDGt(ID ID) KMSQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) IDGte(ID ID) KMSQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) IDIn(ID ...ID) KMSQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) IDLt(ID ID) KMSQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) IDLte(ID ID) KMSQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) IDNe(ID ID) KMSQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) IDNotIn(ID ...ID) KMSQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// KmsArnEq is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsArnEq(kmsArn string) KMSQuerySet {
	return qs.w(qs.db.Where("kms_arn = ?", kmsArn))
}

// KmsArnGt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsArnGt(kmsArn string) KMSQuerySet {
	return qs.w(qs.db.Where("kms_arn > ?", kmsArn))
}

// KmsArnGte is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsArnGte(kmsArn string) KMSQuerySet {
	return qs.w(qs.db.Where("kms_arn >= ?", kmsArn))
}

// KmsArnIn is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsArnIn(kmsArn ...string) KMSQuerySet {
	if len(kmsArn) == 0 {
		qs.db.AddError(errors.New("must at least pass one kmsArn in KmsArnIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("kms_arn IN (?)", kmsArn))
}

// KmsArnLike is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsArnLike(kmsArn string) KMSQuerySet {
	return qs.w(qs.db.Where("kms_arn LIKE ?", kmsArn))
}

// KmsArnLt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsArnLt(kmsArn string) KMSQuerySet {
	return qs.w(qs.db.Where("kms_arn < ?", kmsArn))
}

// KmsArnLte is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsArnLte(kmsArn string) KMSQuerySet {
	return qs.w(qs.db.Where("kms_arn <= ?", kmsArn))
}

// KmsArnNe is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsArnNe(kmsArn string) KMSQuerySet {
	return qs.w(qs.db.Where("kms_arn != ?", kmsArn))
}

// KmsArnNotIn is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsArnNotIn(kmsArn ...string) KMSQuerySet {
	if len(kmsArn) == 0 {
		qs.db.AddError(errors.New("must at least pass one kmsArn in KmsArnNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("kms_arn NOT IN (?)", kmsArn))
}

// KmsArnNotlike is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsArnNotlike(kmsArn string) KMSQuerySet {
	return qs.w(qs.db.Where("kms_arn NOT LIKE ?", kmsArn))
}

// KmsIDEq is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsIDEq(kmsID string) KMSQuerySet {
	return qs.w(qs.db.Where("kms_id = ?", kmsID))
}

// KmsIDGt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsIDGt(kmsID string) KMSQuerySet {
	return qs.w(qs.db.Where("kms_id > ?", kmsID))
}

// KmsIDGte is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsIDGte(kmsID string) KMSQuerySet {
	return qs.w(qs.db.Where("kms_id >= ?", kmsID))
}

// KmsIDIn is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsIDIn(kmsID ...string) KMSQuerySet {
	if len(kmsID) == 0 {
		qs.db.AddError(errors.New("must at least pass one kmsID in KmsIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("kms_id IN (?)", kmsID))
}

// KmsIDLike is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsIDLike(kmsID string) KMSQuerySet {
	return qs.w(qs.db.Where("kms_id LIKE ?", kmsID))
}

// KmsIDLt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsIDLt(kmsID string) KMSQuerySet {
	return qs.w(qs.db.Where("kms_id < ?", kmsID))
}

// KmsIDLte is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsIDLte(kmsID string) KMSQuerySet {
	return qs.w(qs.db.Where("kms_id <= ?", kmsID))
}

// KmsIDNe is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsIDNe(kmsID string) KMSQuerySet {
	return qs.w(qs.db.Where("kms_id != ?", kmsID))
}

// KmsIDNotIn is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsIDNotIn(kmsID ...string) KMSQuerySet {
	if len(kmsID) == 0 {
		qs.db.AddError(errors.New("must at least pass one kmsID in KmsIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("kms_id NOT IN (?)", kmsID))
}

// KmsIDNotlike is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) KmsIDNotlike(kmsID string) KMSQuerySet {
	return qs.w(qs.db.Where("kms_id NOT LIKE ?", kmsID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) Limit(limit int) KMSQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) Offset(offset int) KMSQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs KMSQuerySet) One(ret *KMS) error {
	return qs.db.First(ret).Error
}

// OrderAscByClusterID is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) OrderAscByClusterID() KMSQuerySet {
	return qs.w(qs.db.Order("cluster_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) OrderAscByCreatedAt() KMSQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) OrderAscByID() KMSQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByKmsArn is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) OrderAscByKmsArn() KMSQuerySet {
	return qs.w(qs.db.Order("kms_arn ASC"))
}

// OrderAscByKmsID is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) OrderAscByKmsID() KMSQuerySet {
	return qs.w(qs.db.Order("kms_id ASC"))
}

// OrderAscByRegionID is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) OrderAscByRegionID() KMSQuerySet {
	return qs.w(qs.db.Order("region_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) OrderAscByUpdatedAt() KMSQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByClusterID is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) OrderDescByClusterID() KMSQuerySet {
	return qs.w(qs.db.Order("cluster_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) OrderDescByCreatedAt() KMSQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) OrderDescByID() KMSQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByKmsArn is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) OrderDescByKmsArn() KMSQuerySet {
	return qs.w(qs.db.Order("kms_arn DESC"))
}

// OrderDescByKmsID is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) OrderDescByKmsID() KMSQuerySet {
	return qs.w(qs.db.Order("kms_id DESC"))
}

// OrderDescByRegionID is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) OrderDescByRegionID() KMSQuerySet {
	return qs.w(qs.db.Order("region_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) OrderDescByUpdatedAt() KMSQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadCluster is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) PreloadCluster() KMSQuerySet {
	return qs.w(qs.db.Preload("Cluster"))
}

// PreloadRegion is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) PreloadRegion() KMSQuerySet {
	return qs.w(qs.db.Preload("Region"))
}

// RegionIDEq is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) RegionIDEq(regionID ID) KMSQuerySet {
	return qs.w(qs.db.Where("region_id = ?", regionID))
}

// RegionIDGt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) RegionIDGt(regionID ID) KMSQuerySet {
	return qs.w(qs.db.Where("region_id > ?", regionID))
}

// RegionIDGte is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) RegionIDGte(regionID ID) KMSQuerySet {
	return qs.w(qs.db.Where("region_id >= ?", regionID))
}

// RegionIDIn is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) RegionIDIn(regionID ...ID) KMSQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id IN (?)", regionID))
}

// RegionIDLt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) RegionIDLt(regionID ID) KMSQuerySet {
	return qs.w(qs.db.Where("region_id < ?", regionID))
}

// RegionIDLte is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) RegionIDLte(regionID ID) KMSQuerySet {
	return qs.w(qs.db.Where("region_id <= ?", regionID))
}

// RegionIDNe is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) RegionIDNe(regionID ID) KMSQuerySet {
	return qs.w(qs.db.Where("region_id != ?", regionID))
}

// RegionIDNotIn is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) RegionIDNotIn(regionID ...ID) KMSQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id NOT IN (?)", regionID))
}

// RegionIsNotNull is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) RegionIsNotNull() KMSQuerySet {
	return qs.w(qs.db.Where("region IS NOT NULL"))
}

// RegionIsNull is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) RegionIsNull() KMSQuerySet {
	return qs.w(qs.db.Where("region IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) UpdatedAtEq(updatedAt time.Time) KMSQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) UpdatedAtGt(updatedAt time.Time) KMSQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) UpdatedAtGte(updatedAt time.Time) KMSQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) UpdatedAtIsNotNull() KMSQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) UpdatedAtIsNull() KMSQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) UpdatedAtLt(updatedAt time.Time) KMSQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) UpdatedAtLte(updatedAt time.Time) KMSQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs KMSQuerySet) UpdatedAtNe(updatedAt time.Time) KMSQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetClusterID is an autogenerated method
// nolint: dupl
func (u KMSUpdater) SetClusterID(clusterID ID) KMSUpdater {
	u.fields[string(KMSDBSchema.ClusterID)] = clusterID
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u KMSUpdater) SetCreatedAt(createdAt time.Time) KMSUpdater {
	u.fields[string(KMSDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u KMSUpdater) SetID(ID ID) KMSUpdater {
	u.fields[string(KMSDBSchema.ID)] = ID
	return u
}

// SetKmsArn is an autogenerated method
// nolint: dupl
func (u KMSUpdater) SetKmsArn(kmsArn string) KMSUpdater {
	u.fields[string(KMSDBSchema.KmsArn)] = kmsArn
	return u
}

// SetKmsID is an autogenerated method
// nolint: dupl
func (u KMSUpdater) SetKmsID(kmsID string) KMSUpdater {
	u.fields[string(KMSDBSchema.KmsID)] = kmsID
	return u
}

// SetRegionID is an autogenerated method
// nolint: dupl
func (u KMSUpdater) SetRegionID(regionID ID) KMSUpdater {
	u.fields[string(KMSDBSchema.RegionID)] = regionID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u KMSUpdater) SetUpdatedAt(updatedAt *time.Time) KMSUpdater {
	u.fields[string(KMSDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u KMSUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u KMSUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set KMSQuerySet

// ===== BEGIN of KMS modifiers

// KMSDBSchemaField describes database schema field. It requires for method 'Update'
type KMSDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f KMSDBSchemaField) String() string {
	return string(f)
}

// KMSDBSchema stores db field names of KMS
var KMSDBSchema = struct {
	ID        KMSDBSchemaField
	CreatedAt KMSDBSchemaField
	UpdatedAt KMSDBSchemaField
	ClusterID KMSDBSchemaField
	Cluster   KMSDBSchemaField
	RegionID  KMSDBSchemaField
	Region    KMSDBSchemaField
	KmsID     KMSDBSchemaField
	KmsArn    KMSDBSchemaField
}{

	ID:        KMSDBSchemaField("id"),
	CreatedAt: KMSDBSchemaField("created_at"),
	UpdatedAt: KMSDBSchemaField("updated_at"),
	ClusterID: KMSDBSchemaField("cluster_id"),
	Cluster:   KMSDBSchemaField("cluster"),
	RegionID:  KMSDBSchemaField("region_id"),
	Region:    KMSDBSchemaField("region"),
	KmsID:     KMSDBSchemaField("kms_id"),
	KmsArn:    KMSDBSchemaField("kms_arn"),
}

// Update updates KMS fields by primary key
// nolint: dupl
func (o *KMS) Update(db *gorm.DB, fields ...KMSDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"updated_at": o.UpdatedAt,
		"cluster_id": o.ClusterID,
		"cluster":    o.Cluster,
		"region_id":  o.RegionID,
		"region":     o.Region,
		"kms_id":     o.KmsID,
		"kms_arn":    o.KmsArn,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update KMS %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// KMSUpdater is an KMS updates manager
type KMSUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewKMSUpdater creates new KMS updater
// nolint: dupl
func NewKMSUpdater(db *gorm.DB) KMSUpdater {
	return KMSUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&KMS{}),
	}
}

// ===== END of KMS modifiers

// ===== BEGIN of query set MachineProfileQuerySet

// MachineProfileQuerySet is an queryset type for MachineProfile
type MachineProfileQuerySet struct {
	db *gorm.DB
}

// NewMachineProfileQuerySet constructs new MachineProfileQuerySet
func NewMachineProfileQuerySet(db *gorm.DB) MachineProfileQuerySet {
	return MachineProfileQuerySet{
		db: db.Model(&MachineProfile{}),
	}
}

func (qs MachineProfileQuerySet) w(db *gorm.DB) MachineProfileQuerySet {
	return NewMachineProfileQuerySet(db)
}

func (qs MachineProfileQuerySet) Select(fields ...MachineProfileDBSchemaField) MachineProfileQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *MachineProfile) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *MachineProfile) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) All(ret *[]MachineProfile) error {
	return qs.db.Find(ret).Error
}

// CPUEq is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) CPUEq(CPU uint32) MachineProfileQuerySet {
	return qs.w(qs.db.Where("cpu = ?", CPU))
}

// CPUGt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) CPUGt(CPU uint32) MachineProfileQuerySet {
	return qs.w(qs.db.Where("cpu > ?", CPU))
}

// CPUGte is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) CPUGte(CPU uint32) MachineProfileQuerySet {
	return qs.w(qs.db.Where("cpu >= ?", CPU))
}

// CPUIn is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) CPUIn(CPU ...uint32) MachineProfileQuerySet {
	if len(CPU) == 0 {
		qs.db.AddError(errors.New("must at least pass one CPU in CPUIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cpu IN (?)", CPU))
}

// CPULt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) CPULt(CPU uint32) MachineProfileQuerySet {
	return qs.w(qs.db.Where("cpu < ?", CPU))
}

// CPULte is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) CPULte(CPU uint32) MachineProfileQuerySet {
	return qs.w(qs.db.Where("cpu <= ?", CPU))
}

// CPUNe is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) CPUNe(CPU uint32) MachineProfileQuerySet {
	return qs.w(qs.db.Where("cpu != ?", CPU))
}

// CPUNotIn is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) CPUNotIn(CPU ...uint32) MachineProfileQuerySet {
	if len(CPU) == 0 {
		qs.db.AddError(errors.New("must at least pass one CPU in CPUNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cpu NOT IN (?)", CPU))
}

// Count is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) CreatedAtEq(createdAt time.Time) MachineProfileQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) CreatedAtGt(createdAt time.Time) MachineProfileQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) CreatedAtGte(createdAt time.Time) MachineProfileQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) CreatedAtLt(createdAt time.Time) MachineProfileQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) CreatedAtLte(createdAt time.Time) MachineProfileQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) CreatedAtNe(createdAt time.Time) MachineProfileQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) Delete() error {
	return qs.db.Delete(&MachineProfile{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&MachineProfile{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&MachineProfile{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) GetUpdater() MachineProfileUpdater {
	return NewMachineProfileUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) IDEq(ID ID) MachineProfileQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) IDGt(ID ID) MachineProfileQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) IDGte(ID ID) MachineProfileQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) IDIn(ID ...ID) MachineProfileQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) IDLt(ID ID) MachineProfileQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) IDLte(ID ID) MachineProfileQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) IDNe(ID ID) MachineProfileQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) IDNotIn(ID ...ID) MachineProfileQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// InstanceTypeEq is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) InstanceTypeEq(instanceType capacity.MachineType) MachineProfileQuerySet {
	return qs.w(qs.db.Where("instance_type = ?", instanceType))
}

// InstanceTypeGt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) InstanceTypeGt(instanceType capacity.MachineType) MachineProfileQuerySet {
	return qs.w(qs.db.Where("instance_type > ?", instanceType))
}

// InstanceTypeGte is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) InstanceTypeGte(instanceType capacity.MachineType) MachineProfileQuerySet {
	return qs.w(qs.db.Where("instance_type >= ?", instanceType))
}

// InstanceTypeIn is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) InstanceTypeIn(instanceType ...capacity.MachineType) MachineProfileQuerySet {
	if len(instanceType) == 0 {
		qs.db.AddError(errors.New("must at least pass one instanceType in InstanceTypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("instance_type IN (?)", instanceType))
}

// InstanceTypeLike is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) InstanceTypeLike(instanceType capacity.MachineType) MachineProfileQuerySet {
	return qs.w(qs.db.Where("instance_type LIKE ?", instanceType))
}

// InstanceTypeLt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) InstanceTypeLt(instanceType capacity.MachineType) MachineProfileQuerySet {
	return qs.w(qs.db.Where("instance_type < ?", instanceType))
}

// InstanceTypeLte is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) InstanceTypeLte(instanceType capacity.MachineType) MachineProfileQuerySet {
	return qs.w(qs.db.Where("instance_type <= ?", instanceType))
}

// InstanceTypeNe is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) InstanceTypeNe(instanceType capacity.MachineType) MachineProfileQuerySet {
	return qs.w(qs.db.Where("instance_type != ?", instanceType))
}

// InstanceTypeNotIn is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) InstanceTypeNotIn(instanceType ...capacity.MachineType) MachineProfileQuerySet {
	if len(instanceType) == 0 {
		qs.db.AddError(errors.New("must at least pass one instanceType in InstanceTypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("instance_type NOT IN (?)", instanceType))
}

// InstanceTypeNotlike is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) InstanceTypeNotlike(instanceType capacity.MachineType) MachineProfileQuerySet {
	return qs.w(qs.db.Where("instance_type NOT LIKE ?", instanceType))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) Limit(limit int) MachineProfileQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// MachineArchEq is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MachineArchEq(machineArch MachineArch) MachineProfileQuerySet {
	return qs.w(qs.db.Where("machine_arch = ?", machineArch))
}

// MachineArchGt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MachineArchGt(machineArch MachineArch) MachineProfileQuerySet {
	return qs.w(qs.db.Where("machine_arch > ?", machineArch))
}

// MachineArchGte is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MachineArchGte(machineArch MachineArch) MachineProfileQuerySet {
	return qs.w(qs.db.Where("machine_arch >= ?", machineArch))
}

// MachineArchIn is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MachineArchIn(machineArch ...MachineArch) MachineProfileQuerySet {
	if len(machineArch) == 0 {
		qs.db.AddError(errors.New("must at least pass one machineArch in MachineArchIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("machine_arch IN (?)", machineArch))
}

// MachineArchLike is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MachineArchLike(machineArch MachineArch) MachineProfileQuerySet {
	return qs.w(qs.db.Where("machine_arch LIKE ?", machineArch))
}

// MachineArchLt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MachineArchLt(machineArch MachineArch) MachineProfileQuerySet {
	return qs.w(qs.db.Where("machine_arch < ?", machineArch))
}

// MachineArchLte is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MachineArchLte(machineArch MachineArch) MachineProfileQuerySet {
	return qs.w(qs.db.Where("machine_arch <= ?", machineArch))
}

// MachineArchNe is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MachineArchNe(machineArch MachineArch) MachineProfileQuerySet {
	return qs.w(qs.db.Where("machine_arch != ?", machineArch))
}

// MachineArchNotIn is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MachineArchNotIn(machineArch ...MachineArch) MachineProfileQuerySet {
	if len(machineArch) == 0 {
		qs.db.AddError(errors.New("must at least pass one machineArch in MachineArchNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("machine_arch NOT IN (?)", machineArch))
}

// MachineArchNotlike is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MachineArchNotlike(machineArch MachineArch) MachineProfileQuerySet {
	return qs.w(qs.db.Where("machine_arch NOT LIKE ?", machineArch))
}

// MemoryEq is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MemoryEq(memory uint32) MachineProfileQuerySet {
	return qs.w(qs.db.Where("memory = ?", memory))
}

// MemoryGt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MemoryGt(memory uint32) MachineProfileQuerySet {
	return qs.w(qs.db.Where("memory > ?", memory))
}

// MemoryGte is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MemoryGte(memory uint32) MachineProfileQuerySet {
	return qs.w(qs.db.Where("memory >= ?", memory))
}

// MemoryIn is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MemoryIn(memory ...uint32) MachineProfileQuerySet {
	if len(memory) == 0 {
		qs.db.AddError(errors.New("must at least pass one memory in MemoryIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("memory IN (?)", memory))
}

// MemoryLt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MemoryLt(memory uint32) MachineProfileQuerySet {
	return qs.w(qs.db.Where("memory < ?", memory))
}

// MemoryLte is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MemoryLte(memory uint32) MachineProfileQuerySet {
	return qs.w(qs.db.Where("memory <= ?", memory))
}

// MemoryNe is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MemoryNe(memory uint32) MachineProfileQuerySet {
	return qs.w(qs.db.Where("memory != ?", memory))
}

// MemoryNotIn is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) MemoryNotIn(memory ...uint32) MachineProfileQuerySet {
	if len(memory) == 0 {
		qs.db.AddError(errors.New("must at least pass one memory in MemoryNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("memory NOT IN (?)", memory))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) Offset(offset int) MachineProfileQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs MachineProfileQuerySet) One(ret *MachineProfile) error {
	return qs.db.First(ret).Error
}

// OrderAscByCPU is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) OrderAscByCPU() MachineProfileQuerySet {
	return qs.w(qs.db.Order("cpu ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) OrderAscByCreatedAt() MachineProfileQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) OrderAscByID() MachineProfileQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByInstanceType is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) OrderAscByInstanceType() MachineProfileQuerySet {
	return qs.w(qs.db.Order("instance_type ASC"))
}

// OrderAscByMachineArch is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) OrderAscByMachineArch() MachineProfileQuerySet {
	return qs.w(qs.db.Order("machine_arch ASC"))
}

// OrderAscByMemory is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) OrderAscByMemory() MachineProfileQuerySet {
	return qs.w(qs.db.Order("memory ASC"))
}

// OrderAscByProviderID is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) OrderAscByProviderID() MachineProfileQuerySet {
	return qs.w(qs.db.Order("provider_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) OrderAscByUpdatedAt() MachineProfileQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByCPU is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) OrderDescByCPU() MachineProfileQuerySet {
	return qs.w(qs.db.Order("cpu DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) OrderDescByCreatedAt() MachineProfileQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) OrderDescByID() MachineProfileQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByInstanceType is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) OrderDescByInstanceType() MachineProfileQuerySet {
	return qs.w(qs.db.Order("instance_type DESC"))
}

// OrderDescByMachineArch is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) OrderDescByMachineArch() MachineProfileQuerySet {
	return qs.w(qs.db.Order("machine_arch DESC"))
}

// OrderDescByMemory is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) OrderDescByMemory() MachineProfileQuerySet {
	return qs.w(qs.db.Order("memory DESC"))
}

// OrderDescByProviderID is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) OrderDescByProviderID() MachineProfileQuerySet {
	return qs.w(qs.db.Order("provider_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) OrderDescByUpdatedAt() MachineProfileQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadProvider is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) PreloadProvider() MachineProfileQuerySet {
	return qs.w(qs.db.Preload("Provider"))
}

// ProviderIDEq is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) ProviderIDEq(providerID ID) MachineProfileQuerySet {
	return qs.w(qs.db.Where("provider_id = ?", providerID))
}

// ProviderIDGt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) ProviderIDGt(providerID ID) MachineProfileQuerySet {
	return qs.w(qs.db.Where("provider_id > ?", providerID))
}

// ProviderIDGte is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) ProviderIDGte(providerID ID) MachineProfileQuerySet {
	return qs.w(qs.db.Where("provider_id >= ?", providerID))
}

// ProviderIDIn is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) ProviderIDIn(providerID ...ID) MachineProfileQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id IN (?)", providerID))
}

// ProviderIDLt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) ProviderIDLt(providerID ID) MachineProfileQuerySet {
	return qs.w(qs.db.Where("provider_id < ?", providerID))
}

// ProviderIDLte is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) ProviderIDLte(providerID ID) MachineProfileQuerySet {
	return qs.w(qs.db.Where("provider_id <= ?", providerID))
}

// ProviderIDNe is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) ProviderIDNe(providerID ID) MachineProfileQuerySet {
	return qs.w(qs.db.Where("provider_id != ?", providerID))
}

// ProviderIDNotIn is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) ProviderIDNotIn(providerID ...ID) MachineProfileQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id NOT IN (?)", providerID))
}

// ProviderIsNotNull is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) ProviderIsNotNull() MachineProfileQuerySet {
	return qs.w(qs.db.Where("provider IS NOT NULL"))
}

// ProviderIsNull is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) ProviderIsNull() MachineProfileQuerySet {
	return qs.w(qs.db.Where("provider IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) UpdatedAtEq(updatedAt time.Time) MachineProfileQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) UpdatedAtGt(updatedAt time.Time) MachineProfileQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) UpdatedAtGte(updatedAt time.Time) MachineProfileQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) UpdatedAtIsNotNull() MachineProfileQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) UpdatedAtIsNull() MachineProfileQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) UpdatedAtLt(updatedAt time.Time) MachineProfileQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) UpdatedAtLte(updatedAt time.Time) MachineProfileQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs MachineProfileQuerySet) UpdatedAtNe(updatedAt time.Time) MachineProfileQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCPU is an autogenerated method
// nolint: dupl
func (u MachineProfileUpdater) SetCPU(CPU uint32) MachineProfileUpdater {
	u.fields[string(MachineProfileDBSchema.CPU)] = CPU
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u MachineProfileUpdater) SetCreatedAt(createdAt time.Time) MachineProfileUpdater {
	u.fields[string(MachineProfileDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u MachineProfileUpdater) SetID(ID ID) MachineProfileUpdater {
	u.fields[string(MachineProfileDBSchema.ID)] = ID
	return u
}

// SetInstanceType is an autogenerated method
// nolint: dupl
func (u MachineProfileUpdater) SetInstanceType(instanceType capacity.MachineType) MachineProfileUpdater {
	u.fields[string(MachineProfileDBSchema.InstanceType)] = instanceType
	return u
}

// SetMachineArch is an autogenerated method
// nolint: dupl
func (u MachineProfileUpdater) SetMachineArch(machineArch MachineArch) MachineProfileUpdater {
	u.fields[string(MachineProfileDBSchema.MachineArch)] = machineArch
	return u
}

// SetMemory is an autogenerated method
// nolint: dupl
func (u MachineProfileUpdater) SetMemory(memory uint32) MachineProfileUpdater {
	u.fields[string(MachineProfileDBSchema.Memory)] = memory
	return u
}

// SetProviderID is an autogenerated method
// nolint: dupl
func (u MachineProfileUpdater) SetProviderID(providerID ID) MachineProfileUpdater {
	u.fields[string(MachineProfileDBSchema.ProviderID)] = providerID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u MachineProfileUpdater) SetUpdatedAt(updatedAt *time.Time) MachineProfileUpdater {
	u.fields[string(MachineProfileDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u MachineProfileUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u MachineProfileUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set MachineProfileQuerySet

// ===== BEGIN of MachineProfile modifiers

// MachineProfileDBSchemaField describes database schema field. It requires for method 'Update'
type MachineProfileDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f MachineProfileDBSchemaField) String() string {
	return string(f)
}

// MachineProfileDBSchema stores db field names of MachineProfile
var MachineProfileDBSchema = struct {
	ID           MachineProfileDBSchemaField
	CreatedAt    MachineProfileDBSchemaField
	UpdatedAt    MachineProfileDBSchemaField
	MachineArch  MachineProfileDBSchemaField
	InstanceType MachineProfileDBSchemaField
	ProviderID   MachineProfileDBSchemaField
	Provider     MachineProfileDBSchemaField
	Memory       MachineProfileDBSchemaField
	CPU          MachineProfileDBSchemaField
}{

	ID:           MachineProfileDBSchemaField("id"),
	CreatedAt:    MachineProfileDBSchemaField("created_at"),
	UpdatedAt:    MachineProfileDBSchemaField("updated_at"),
	MachineArch:  MachineProfileDBSchemaField("machine_arch"),
	InstanceType: MachineProfileDBSchemaField("instance_type"),
	ProviderID:   MachineProfileDBSchemaField("provider_id"),
	Provider:     MachineProfileDBSchemaField("provider"),
	Memory:       MachineProfileDBSchemaField("memory"),
	CPU:          MachineProfileDBSchemaField("cpu"),
}

// Update updates MachineProfile fields by primary key
// nolint: dupl
func (o *MachineProfile) Update(db *gorm.DB, fields ...MachineProfileDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":            o.ID,
		"created_at":    o.CreatedAt,
		"updated_at":    o.UpdatedAt,
		"machine_arch":  o.MachineArch,
		"instance_type": o.InstanceType,
		"provider_id":   o.ProviderID,
		"provider":      o.Provider,
		"memory":        o.Memory,
		"cpu":           o.CPU,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update MachineProfile %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// MachineProfileUpdater is an MachineProfile updates manager
type MachineProfileUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewMachineProfileUpdater creates new MachineProfile updater
// nolint: dupl
func NewMachineProfileUpdater(db *gorm.DB) MachineProfileUpdater {
	return MachineProfileUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&MachineProfile{}),
	}
}

// ===== END of MachineProfile modifiers

// ===== BEGIN of query set MachineQuerySet

// MachineQuerySet is an queryset type for Machine
type MachineQuerySet struct {
	db *gorm.DB
}

// NewMachineQuerySet constructs new MachineQuerySet
func NewMachineQuerySet(db *gorm.DB) MachineQuerySet {
	return MachineQuerySet{
		db: db.Model(&Machine{}),
	}
}

func (qs MachineQuerySet) w(db *gorm.DB) MachineQuerySet {
	return NewMachineQuerySet(db)
}

func (qs MachineQuerySet) Select(fields ...MachineDBSchemaField) MachineQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Machine) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Machine) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) All(ret *[]Machine) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) CreatedAtEq(createdAt time.Time) MachineQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) CreatedAtGt(createdAt time.Time) MachineQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) CreatedAtGte(createdAt time.Time) MachineQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) CreatedAtLt(createdAt time.Time) MachineQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) CreatedAtLte(createdAt time.Time) MachineQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) CreatedAtNe(createdAt time.Time) MachineQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) Delete() error {
	return qs.db.Delete(&Machine{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Machine{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Machine{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) GetUpdater() MachineUpdater {
	return NewMachineUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) IDEq(ID ID) MachineQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) IDGt(ID ID) MachineQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) IDGte(ID ID) MachineQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) IDIn(ID ...ID) MachineQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) IDLt(ID ID) MachineQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) IDLte(ID ID) MachineQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) IDNe(ID ID) MachineQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) IDNotIn(ID ...ID) MachineQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// InstanceIDEq is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) InstanceIDEq(instanceID string) MachineQuerySet {
	return qs.w(qs.db.Where("instance_id = ?", instanceID))
}

// InstanceIDGt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) InstanceIDGt(instanceID string) MachineQuerySet {
	return qs.w(qs.db.Where("instance_id > ?", instanceID))
}

// InstanceIDGte is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) InstanceIDGte(instanceID string) MachineQuerySet {
	return qs.w(qs.db.Where("instance_id >= ?", instanceID))
}

// InstanceIDIn is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) InstanceIDIn(instanceID ...string) MachineQuerySet {
	if len(instanceID) == 0 {
		qs.db.AddError(errors.New("must at least pass one instanceID in InstanceIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("instance_id IN (?)", instanceID))
}

// InstanceIDLike is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) InstanceIDLike(instanceID string) MachineQuerySet {
	return qs.w(qs.db.Where("instance_id LIKE ?", instanceID))
}

// InstanceIDLt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) InstanceIDLt(instanceID string) MachineQuerySet {
	return qs.w(qs.db.Where("instance_id < ?", instanceID))
}

// InstanceIDLte is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) InstanceIDLte(instanceID string) MachineQuerySet {
	return qs.w(qs.db.Where("instance_id <= ?", instanceID))
}

// InstanceIDNe is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) InstanceIDNe(instanceID string) MachineQuerySet {
	return qs.w(qs.db.Where("instance_id != ?", instanceID))
}

// InstanceIDNotIn is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) InstanceIDNotIn(instanceID ...string) MachineQuerySet {
	if len(instanceID) == 0 {
		qs.db.AddError(errors.New("must at least pass one instanceID in InstanceIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("instance_id NOT IN (?)", instanceID))
}

// InstanceIDNotlike is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) InstanceIDNotlike(instanceID string) MachineQuerySet {
	return qs.w(qs.db.Where("instance_id NOT LIKE ?", instanceID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) Limit(limit int) MachineQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// MachineProfileIDEq is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) MachineProfileIDEq(machineProfileID ID) MachineQuerySet {
	return qs.w(qs.db.Where("machine_profile_id = ?", machineProfileID))
}

// MachineProfileIDGt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) MachineProfileIDGt(machineProfileID ID) MachineQuerySet {
	return qs.w(qs.db.Where("machine_profile_id > ?", machineProfileID))
}

// MachineProfileIDGte is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) MachineProfileIDGte(machineProfileID ID) MachineQuerySet {
	return qs.w(qs.db.Where("machine_profile_id >= ?", machineProfileID))
}

// MachineProfileIDIn is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) MachineProfileIDIn(machineProfileID ...ID) MachineQuerySet {
	if len(machineProfileID) == 0 {
		qs.db.AddError(errors.New("must at least pass one machineProfileID in MachineProfileIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("machine_profile_id IN (?)", machineProfileID))
}

// MachineProfileIDLt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) MachineProfileIDLt(machineProfileID ID) MachineQuerySet {
	return qs.w(qs.db.Where("machine_profile_id < ?", machineProfileID))
}

// MachineProfileIDLte is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) MachineProfileIDLte(machineProfileID ID) MachineQuerySet {
	return qs.w(qs.db.Where("machine_profile_id <= ?", machineProfileID))
}

// MachineProfileIDNe is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) MachineProfileIDNe(machineProfileID ID) MachineQuerySet {
	return qs.w(qs.db.Where("machine_profile_id != ?", machineProfileID))
}

// MachineProfileIDNotIn is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) MachineProfileIDNotIn(machineProfileID ...ID) MachineQuerySet {
	if len(machineProfileID) == 0 {
		qs.db.AddError(errors.New("must at least pass one machineProfileID in MachineProfileIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("machine_profile_id NOT IN (?)", machineProfileID))
}

// MachineProfileIsNotNull is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) MachineProfileIsNotNull() MachineQuerySet {
	return qs.w(qs.db.Where("machine_profile IS NOT NULL"))
}

// MachineProfileIsNull is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) MachineProfileIsNull() MachineQuerySet {
	return qs.w(qs.db.Where("machine_profile IS NULL"))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) NameEq(name string) MachineQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) NameGt(name string) MachineQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) NameGte(name string) MachineQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) NameIn(name ...string) MachineQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) NameLike(name string) MachineQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) NameLt(name string) MachineQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) NameLte(name string) MachineQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) NameNe(name string) MachineQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) NameNotIn(name ...string) MachineQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) NameNotlike(name string) MachineQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) Offset(offset int) MachineQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs MachineQuerySet) One(ret *Machine) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) OrderAscByCreatedAt() MachineQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) OrderAscByID() MachineQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByInstanceID is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) OrderAscByInstanceID() MachineQuerySet {
	return qs.w(qs.db.Order("instance_id ASC"))
}

// OrderAscByMachineProfileID is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) OrderAscByMachineProfileID() MachineQuerySet {
	return qs.w(qs.db.Order("machine_profile_id ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) OrderAscByName() MachineQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) OrderAscByStatus() MachineQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) OrderAscByUpdatedAt() MachineQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByZoneID is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) OrderAscByZoneID() MachineQuerySet {
	return qs.w(qs.db.Order("zone_id ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) OrderDescByCreatedAt() MachineQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) OrderDescByID() MachineQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByInstanceID is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) OrderDescByInstanceID() MachineQuerySet {
	return qs.w(qs.db.Order("instance_id DESC"))
}

// OrderDescByMachineProfileID is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) OrderDescByMachineProfileID() MachineQuerySet {
	return qs.w(qs.db.Order("machine_profile_id DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) OrderDescByName() MachineQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) OrderDescByStatus() MachineQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) OrderDescByUpdatedAt() MachineQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByZoneID is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) OrderDescByZoneID() MachineQuerySet {
	return qs.w(qs.db.Order("zone_id DESC"))
}

// PreloadMachineProfile is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) PreloadMachineProfile() MachineQuerySet {
	return qs.w(qs.db.Preload("MachineProfile"))
}

// PreloadZone is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) PreloadZone() MachineQuerySet {
	return qs.w(qs.db.Preload("Zone"))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) StatusEq(status MachineStatus) MachineQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) StatusGt(status MachineStatus) MachineQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) StatusGte(status MachineStatus) MachineQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) StatusIn(status ...MachineStatus) MachineQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) StatusLike(status MachineStatus) MachineQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) StatusLt(status MachineStatus) MachineQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) StatusLte(status MachineStatus) MachineQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) StatusNe(status MachineStatus) MachineQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) StatusNotIn(status ...MachineStatus) MachineQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) StatusNotlike(status MachineStatus) MachineQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) UpdatedAtEq(updatedAt time.Time) MachineQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) UpdatedAtGt(updatedAt time.Time) MachineQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) UpdatedAtGte(updatedAt time.Time) MachineQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) UpdatedAtIsNotNull() MachineQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) UpdatedAtIsNull() MachineQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) UpdatedAtLt(updatedAt time.Time) MachineQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) UpdatedAtLte(updatedAt time.Time) MachineQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) UpdatedAtNe(updatedAt time.Time) MachineQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// ZoneIDEq is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) ZoneIDEq(zoneID ID) MachineQuerySet {
	return qs.w(qs.db.Where("zone_id = ?", zoneID))
}

// ZoneIDGt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) ZoneIDGt(zoneID ID) MachineQuerySet {
	return qs.w(qs.db.Where("zone_id > ?", zoneID))
}

// ZoneIDGte is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) ZoneIDGte(zoneID ID) MachineQuerySet {
	return qs.w(qs.db.Where("zone_id >= ?", zoneID))
}

// ZoneIDIn is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) ZoneIDIn(zoneID ...ID) MachineQuerySet {
	if len(zoneID) == 0 {
		qs.db.AddError(errors.New("must at least pass one zoneID in ZoneIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("zone_id IN (?)", zoneID))
}

// ZoneIDLt is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) ZoneIDLt(zoneID ID) MachineQuerySet {
	return qs.w(qs.db.Where("zone_id < ?", zoneID))
}

// ZoneIDLte is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) ZoneIDLte(zoneID ID) MachineQuerySet {
	return qs.w(qs.db.Where("zone_id <= ?", zoneID))
}

// ZoneIDNe is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) ZoneIDNe(zoneID ID) MachineQuerySet {
	return qs.w(qs.db.Where("zone_id != ?", zoneID))
}

// ZoneIDNotIn is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) ZoneIDNotIn(zoneID ...ID) MachineQuerySet {
	if len(zoneID) == 0 {
		qs.db.AddError(errors.New("must at least pass one zoneID in ZoneIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("zone_id NOT IN (?)", zoneID))
}

// ZoneIsNotNull is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) ZoneIsNotNull() MachineQuerySet {
	return qs.w(qs.db.Where("zone IS NOT NULL"))
}

// ZoneIsNull is an autogenerated method
// nolint: dupl
func (qs MachineQuerySet) ZoneIsNull() MachineQuerySet {
	return qs.w(qs.db.Where("zone IS NULL"))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u MachineUpdater) SetCreatedAt(createdAt time.Time) MachineUpdater {
	u.fields[string(MachineDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u MachineUpdater) SetID(ID ID) MachineUpdater {
	u.fields[string(MachineDBSchema.ID)] = ID
	return u
}

// SetInstanceID is an autogenerated method
// nolint: dupl
func (u MachineUpdater) SetInstanceID(instanceID string) MachineUpdater {
	u.fields[string(MachineDBSchema.InstanceID)] = instanceID
	return u
}

// SetMachineProfileID is an autogenerated method
// nolint: dupl
func (u MachineUpdater) SetMachineProfileID(machineProfileID ID) MachineUpdater {
	u.fields[string(MachineDBSchema.MachineProfileID)] = machineProfileID
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u MachineUpdater) SetName(name string) MachineUpdater {
	u.fields[string(MachineDBSchema.Name)] = name
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u MachineUpdater) SetStatus(status MachineStatus) MachineUpdater {
	u.fields[string(MachineDBSchema.Status)] = status
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u MachineUpdater) SetUpdatedAt(updatedAt *time.Time) MachineUpdater {
	u.fields[string(MachineDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetZoneID is an autogenerated method
// nolint: dupl
func (u MachineUpdater) SetZoneID(zoneID ID) MachineUpdater {
	u.fields[string(MachineDBSchema.ZoneID)] = zoneID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u MachineUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u MachineUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set MachineQuerySet

// ===== BEGIN of Machine modifiers

// MachineDBSchemaField describes database schema field. It requires for method 'Update'
type MachineDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f MachineDBSchemaField) String() string {
	return string(f)
}

// MachineDBSchema stores db field names of Machine
var MachineDBSchema = struct {
	ID               MachineDBSchemaField
	CreatedAt        MachineDBSchemaField
	UpdatedAt        MachineDBSchemaField
	Name             MachineDBSchemaField
	InstanceID       MachineDBSchemaField
	MachineProfileID MachineDBSchemaField
	MachineProfile   MachineDBSchemaField
	ZoneID           MachineDBSchemaField
	Zone             MachineDBSchemaField
	Status           MachineDBSchemaField
}{

	ID:               MachineDBSchemaField("id"),
	CreatedAt:        MachineDBSchemaField("created_at"),
	UpdatedAt:        MachineDBSchemaField("updated_at"),
	Name:             MachineDBSchemaField("name"),
	InstanceID:       MachineDBSchemaField("instance_id"),
	MachineProfileID: MachineDBSchemaField("machine_profile_id"),
	MachineProfile:   MachineDBSchemaField("machine_profile"),
	ZoneID:           MachineDBSchemaField("zone_id"),
	Zone:             MachineDBSchemaField("zone"),
	Status:           MachineDBSchemaField("status"),
}

// Update updates Machine fields by primary key
// nolint: dupl
func (o *Machine) Update(db *gorm.DB, fields ...MachineDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                 o.ID,
		"created_at":         o.CreatedAt,
		"updated_at":         o.UpdatedAt,
		"name":               o.Name,
		"instance_id":        o.InstanceID,
		"machine_profile_id": o.MachineProfileID,
		"machine_profile":    o.MachineProfile,
		"zone_id":            o.ZoneID,
		"zone":               o.Zone,
		"status":             o.Status,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Machine %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// MachineUpdater is an Machine updates manager
type MachineUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewMachineUpdater creates new Machine updater
// nolint: dupl
func NewMachineUpdater(db *gorm.DB) MachineUpdater {
	return MachineUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Machine{}),
	}
}

// ===== END of Machine modifiers

// ===== BEGIN of query set NodeUsageQuerySet

// NodeUsageQuerySet is an queryset type for NodeUsage
type NodeUsageQuerySet struct {
	db *gorm.DB
}

// NewNodeUsageQuerySet constructs new NodeUsageQuerySet
func NewNodeUsageQuerySet(db *gorm.DB) NodeUsageQuerySet {
	return NodeUsageQuerySet{
		db: db.Model(&NodeUsage{}),
	}
}

func (qs NodeUsageQuerySet) w(db *gorm.DB) NodeUsageQuerySet {
	return NewNodeUsageQuerySet(db)
}

func (qs NodeUsageQuerySet) Select(fields ...NodeUsageDBSchemaField) NodeUsageQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *NodeUsage) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *NodeUsage) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) All(ret *[]NodeUsage) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) CreatedAtEq(createdAt time.Time) NodeUsageQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) CreatedAtGt(createdAt time.Time) NodeUsageQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) CreatedAtGte(createdAt time.Time) NodeUsageQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) CreatedAtLt(createdAt time.Time) NodeUsageQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) CreatedAtLte(createdAt time.Time) NodeUsageQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) CreatedAtNe(createdAt time.Time) NodeUsageQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) Delete() error {
	return qs.db.Delete(&NodeUsage{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&NodeUsage{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&NodeUsage{})
	return db.RowsAffected, db.Error
}

// EndTimeEq is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) EndTimeEq(endTime int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("end_time = ?", endTime))
}

// EndTimeGt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) EndTimeGt(endTime int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("end_time > ?", endTime))
}

// EndTimeGte is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) EndTimeGte(endTime int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("end_time >= ?", endTime))
}

// EndTimeIn is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) EndTimeIn(endTime ...int64) NodeUsageQuerySet {
	if len(endTime) == 0 {
		qs.db.AddError(errors.New("must at least pass one endTime in EndTimeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("end_time IN (?)", endTime))
}

// EndTimeLt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) EndTimeLt(endTime int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("end_time < ?", endTime))
}

// EndTimeLte is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) EndTimeLte(endTime int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("end_time <= ?", endTime))
}

// EndTimeNe is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) EndTimeNe(endTime int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("end_time != ?", endTime))
}

// EndTimeNotIn is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) EndTimeNotIn(endTime ...int64) NodeUsageQuerySet {
	if len(endTime) == 0 {
		qs.db.AddError(errors.New("must at least pass one endTime in EndTimeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("end_time NOT IN (?)", endTime))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) GetUpdater() NodeUsageUpdater {
	return NewNodeUsageUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) IDEq(ID ID) NodeUsageQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) IDGt(ID ID) NodeUsageQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) IDGte(ID ID) NodeUsageQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) IDIn(ID ...ID) NodeUsageQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) IDLt(ID ID) NodeUsageQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) IDLte(ID ID) NodeUsageQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) IDNe(ID ID) NodeUsageQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) IDNotIn(ID ...ID) NodeUsageQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) Limit(limit int) NodeUsageQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) Offset(offset int) NodeUsageQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs NodeUsageQuerySet) One(ret *NodeUsage) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) OrderAscByCreatedAt() NodeUsageQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByEndTime is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) OrderAscByEndTime() NodeUsageQuerySet {
	return qs.w(qs.db.Order("end_time ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) OrderAscByID() NodeUsageQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByStartTime is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) OrderAscByStartTime() NodeUsageQuerySet {
	return qs.w(qs.db.Order("start_time ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) OrderAscByTenantID() NodeUsageQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) OrderAscByUpdatedAt() NodeUsageQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByUsage is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) OrderAscByUsage() NodeUsageQuerySet {
	return qs.w(qs.db.Order("usage ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) OrderDescByCreatedAt() NodeUsageQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByEndTime is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) OrderDescByEndTime() NodeUsageQuerySet {
	return qs.w(qs.db.Order("end_time DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) OrderDescByID() NodeUsageQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByStartTime is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) OrderDescByStartTime() NodeUsageQuerySet {
	return qs.w(qs.db.Order("start_time DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) OrderDescByTenantID() NodeUsageQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) OrderDescByUpdatedAt() NodeUsageQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByUsage is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) OrderDescByUsage() NodeUsageQuerySet {
	return qs.w(qs.db.Order("usage DESC"))
}

// PreloadTenant is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) PreloadTenant() NodeUsageQuerySet {
	return qs.w(qs.db.Preload("Tenant"))
}

// StartTimeEq is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) StartTimeEq(startTime int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("start_time = ?", startTime))
}

// StartTimeGt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) StartTimeGt(startTime int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("start_time > ?", startTime))
}

// StartTimeGte is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) StartTimeGte(startTime int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("start_time >= ?", startTime))
}

// StartTimeIn is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) StartTimeIn(startTime ...int64) NodeUsageQuerySet {
	if len(startTime) == 0 {
		qs.db.AddError(errors.New("must at least pass one startTime in StartTimeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("start_time IN (?)", startTime))
}

// StartTimeLt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) StartTimeLt(startTime int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("start_time < ?", startTime))
}

// StartTimeLte is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) StartTimeLte(startTime int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("start_time <= ?", startTime))
}

// StartTimeNe is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) StartTimeNe(startTime int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("start_time != ?", startTime))
}

// StartTimeNotIn is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) StartTimeNotIn(startTime ...int64) NodeUsageQuerySet {
	if len(startTime) == 0 {
		qs.db.AddError(errors.New("must at least pass one startTime in StartTimeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("start_time NOT IN (?)", startTime))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) TenantIDEq(tenantID ID) NodeUsageQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) TenantIDGt(tenantID ID) NodeUsageQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) TenantIDGte(tenantID ID) NodeUsageQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) TenantIDIn(tenantID ...ID) NodeUsageQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) TenantIDLt(tenantID ID) NodeUsageQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) TenantIDLte(tenantID ID) NodeUsageQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) TenantIDNe(tenantID ID) NodeUsageQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) TenantIDNotIn(tenantID ...ID) NodeUsageQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// TenantIsNotNull is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) TenantIsNotNull() NodeUsageQuerySet {
	return qs.w(qs.db.Where("tenant IS NOT NULL"))
}

// TenantIsNull is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) TenantIsNull() NodeUsageQuerySet {
	return qs.w(qs.db.Where("tenant IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) UpdatedAtEq(updatedAt time.Time) NodeUsageQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) UpdatedAtGt(updatedAt time.Time) NodeUsageQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) UpdatedAtGte(updatedAt time.Time) NodeUsageQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) UpdatedAtIsNotNull() NodeUsageQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) UpdatedAtIsNull() NodeUsageQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) UpdatedAtLt(updatedAt time.Time) NodeUsageQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) UpdatedAtLte(updatedAt time.Time) NodeUsageQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) UpdatedAtNe(updatedAt time.Time) NodeUsageQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// UsageEq is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) UsageEq(usage int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("usage = ?", usage))
}

// UsageGt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) UsageGt(usage int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("usage > ?", usage))
}

// UsageGte is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) UsageGte(usage int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("usage >= ?", usage))
}

// UsageIn is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) UsageIn(usage ...int64) NodeUsageQuerySet {
	if len(usage) == 0 {
		qs.db.AddError(errors.New("must at least pass one usage in UsageIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("usage IN (?)", usage))
}

// UsageLt is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) UsageLt(usage int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("usage < ?", usage))
}

// UsageLte is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) UsageLte(usage int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("usage <= ?", usage))
}

// UsageNe is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) UsageNe(usage int64) NodeUsageQuerySet {
	return qs.w(qs.db.Where("usage != ?", usage))
}

// UsageNotIn is an autogenerated method
// nolint: dupl
func (qs NodeUsageQuerySet) UsageNotIn(usage ...int64) NodeUsageQuerySet {
	if len(usage) == 0 {
		qs.db.AddError(errors.New("must at least pass one usage in UsageNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("usage NOT IN (?)", usage))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u NodeUsageUpdater) SetCreatedAt(createdAt time.Time) NodeUsageUpdater {
	u.fields[string(NodeUsageDBSchema.CreatedAt)] = createdAt
	return u
}

// SetEndTime is an autogenerated method
// nolint: dupl
func (u NodeUsageUpdater) SetEndTime(endTime int64) NodeUsageUpdater {
	u.fields[string(NodeUsageDBSchema.EndTime)] = endTime
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u NodeUsageUpdater) SetID(ID ID) NodeUsageUpdater {
	u.fields[string(NodeUsageDBSchema.ID)] = ID
	return u
}

// SetStartTime is an autogenerated method
// nolint: dupl
func (u NodeUsageUpdater) SetStartTime(startTime int64) NodeUsageUpdater {
	u.fields[string(NodeUsageDBSchema.StartTime)] = startTime
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u NodeUsageUpdater) SetTenantID(tenantID ID) NodeUsageUpdater {
	u.fields[string(NodeUsageDBSchema.TenantID)] = tenantID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u NodeUsageUpdater) SetUpdatedAt(updatedAt *time.Time) NodeUsageUpdater {
	u.fields[string(NodeUsageDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetUsage is an autogenerated method
// nolint: dupl
func (u NodeUsageUpdater) SetUsage(usage int64) NodeUsageUpdater {
	u.fields[string(NodeUsageDBSchema.Usage)] = usage
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u NodeUsageUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u NodeUsageUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set NodeUsageQuerySet

// ===== BEGIN of NodeUsage modifiers

// NodeUsageDBSchemaField describes database schema field. It requires for method 'Update'
type NodeUsageDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f NodeUsageDBSchemaField) String() string {
	return string(f)
}

// NodeUsageDBSchema stores db field names of NodeUsage
var NodeUsageDBSchema = struct {
	ID        NodeUsageDBSchemaField
	CreatedAt NodeUsageDBSchemaField
	UpdatedAt NodeUsageDBSchemaField
	TenantID  NodeUsageDBSchemaField
	Tenant    NodeUsageDBSchemaField
	StartTime NodeUsageDBSchemaField
	EndTime   NodeUsageDBSchemaField
	Usage     NodeUsageDBSchemaField
}{

	ID:        NodeUsageDBSchemaField("id"),
	CreatedAt: NodeUsageDBSchemaField("created_at"),
	UpdatedAt: NodeUsageDBSchemaField("updated_at"),
	TenantID:  NodeUsageDBSchemaField("tenant_id"),
	Tenant:    NodeUsageDBSchemaField("tenant"),
	StartTime: NodeUsageDBSchemaField("start_time"),
	EndTime:   NodeUsageDBSchemaField("end_time"),
	Usage:     NodeUsageDBSchemaField("usage"),
}

// Update updates NodeUsage fields by primary key
// nolint: dupl
func (o *NodeUsage) Update(db *gorm.DB, fields ...NodeUsageDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"updated_at": o.UpdatedAt,
		"tenant_id":  o.TenantID,
		"tenant":     o.Tenant,
		"start_time": o.StartTime,
		"end_time":   o.EndTime,
		"usage":      o.Usage,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update NodeUsage %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// NodeUsageUpdater is an NodeUsage updates manager
type NodeUsageUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewNodeUsageUpdater creates new NodeUsage updater
// nolint: dupl
func NewNodeUsageUpdater(db *gorm.DB) NodeUsageUpdater {
	return NodeUsageUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&NodeUsage{}),
	}
}

// ===== END of NodeUsage modifiers

// ===== BEGIN of query set ProjectQuerySet

// ProjectQuerySet is an queryset type for Project
type ProjectQuerySet struct {
	db *gorm.DB
}

// NewProjectQuerySet constructs new ProjectQuerySet
func NewProjectQuerySet(db *gorm.DB) ProjectQuerySet {
	return ProjectQuerySet{
		db: db.Model(&Project{}),
	}
}

func (qs ProjectQuerySet) w(db *gorm.DB) ProjectQuerySet {
	return NewProjectQuerySet(db)
}

func (qs ProjectQuerySet) Select(fields ...ProjectDBSchemaField) ProjectQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Project) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Project) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) All(ret *[]Project) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) CreatedAtEq(createdAt time.Time) ProjectQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) CreatedAtGt(createdAt time.Time) ProjectQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) CreatedAtGte(createdAt time.Time) ProjectQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) CreatedAtLt(createdAt time.Time) ProjectQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) CreatedAtLte(createdAt time.Time) ProjectQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) CreatedAtNe(createdAt time.Time) ProjectQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) Delete() error {
	return qs.db.Delete(&Project{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Project{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Project{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) GetUpdater() ProjectUpdater {
	return NewProjectUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) IDEq(ID ID) ProjectQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) IDGt(ID ID) ProjectQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) IDGte(ID ID) ProjectQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) IDIn(ID ...ID) ProjectQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) IDLt(ID ID) ProjectQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) IDLte(ID ID) ProjectQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) IDNe(ID ID) ProjectQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) IDNotIn(ID ...ID) ProjectQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) Limit(limit int) ProjectQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) NameEq(name string) ProjectQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) NameGt(name string) ProjectQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) NameGte(name string) ProjectQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) NameIn(name ...string) ProjectQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) NameLike(name string) ProjectQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) NameLt(name string) ProjectQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) NameLte(name string) ProjectQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) NameNe(name string) ProjectQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) NameNotIn(name ...string) ProjectQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) NameNotlike(name string) ProjectQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) Offset(offset int) ProjectQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ProjectQuerySet) One(ret *Project) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) OrderAscByCreatedAt() ProjectQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) OrderAscByID() ProjectQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) OrderAscByName() ProjectQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) OrderAscByTenantID() ProjectQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) OrderAscByUpdatedAt() ProjectQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) OrderDescByCreatedAt() ProjectQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) OrderDescByID() ProjectQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) OrderDescByName() ProjectQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) OrderDescByTenantID() ProjectQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) OrderDescByUpdatedAt() ProjectQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadTenant is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) PreloadTenant() ProjectQuerySet {
	return qs.w(qs.db.Preload("Tenant"))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) TenantIDEq(tenantID ID) ProjectQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) TenantIDGt(tenantID ID) ProjectQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) TenantIDGte(tenantID ID) ProjectQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) TenantIDIn(tenantID ...ID) ProjectQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) TenantIDLt(tenantID ID) ProjectQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) TenantIDLte(tenantID ID) ProjectQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) TenantIDNe(tenantID ID) ProjectQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) TenantIDNotIn(tenantID ...ID) ProjectQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// TenantIsNotNull is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) TenantIsNotNull() ProjectQuerySet {
	return qs.w(qs.db.Where("tenant IS NOT NULL"))
}

// TenantIsNull is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) TenantIsNull() ProjectQuerySet {
	return qs.w(qs.db.Where("tenant IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) UpdatedAtEq(updatedAt time.Time) ProjectQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) UpdatedAtGt(updatedAt time.Time) ProjectQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) UpdatedAtGte(updatedAt time.Time) ProjectQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) UpdatedAtIsNotNull() ProjectQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) UpdatedAtIsNull() ProjectQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) UpdatedAtLt(updatedAt time.Time) ProjectQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) UpdatedAtLte(updatedAt time.Time) ProjectQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ProjectQuerySet) UpdatedAtNe(updatedAt time.Time) ProjectQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ProjectUpdater) SetCreatedAt(createdAt time.Time) ProjectUpdater {
	u.fields[string(ProjectDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ProjectUpdater) SetID(ID ID) ProjectUpdater {
	u.fields[string(ProjectDBSchema.ID)] = ID
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u ProjectUpdater) SetName(name string) ProjectUpdater {
	u.fields[string(ProjectDBSchema.Name)] = name
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u ProjectUpdater) SetTenantID(tenantID ID) ProjectUpdater {
	u.fields[string(ProjectDBSchema.TenantID)] = tenantID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ProjectUpdater) SetUpdatedAt(updatedAt *time.Time) ProjectUpdater {
	u.fields[string(ProjectDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ProjectUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ProjectUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ProjectQuerySet

// ===== BEGIN of Project modifiers

// ProjectDBSchemaField describes database schema field. It requires for method 'Update'
type ProjectDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ProjectDBSchemaField) String() string {
	return string(f)
}

// ProjectDBSchema stores db field names of Project
var ProjectDBSchema = struct {
	ID        ProjectDBSchemaField
	CreatedAt ProjectDBSchemaField
	UpdatedAt ProjectDBSchemaField
	TenantID  ProjectDBSchemaField
	Tenant    ProjectDBSchemaField
	Name      ProjectDBSchemaField
}{

	ID:        ProjectDBSchemaField("id"),
	CreatedAt: ProjectDBSchemaField("created_at"),
	UpdatedAt: ProjectDBSchemaField("updated_at"),
	TenantID:  ProjectDBSchemaField("tenant_id"),
	Tenant:    ProjectDBSchemaField("tenant"),
	Name:      ProjectDBSchemaField("name"),
}

// Update updates Project fields by primary key
// nolint: dupl
func (o *Project) Update(db *gorm.DB, fields ...ProjectDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"updated_at": o.UpdatedAt,
		"tenant_id":  o.TenantID,
		"tenant":     o.Tenant,
		"name":       o.Name,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Project %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ProjectUpdater is an Project updates manager
type ProjectUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewProjectUpdater creates new Project updater
// nolint: dupl
func NewProjectUpdater(db *gorm.DB) ProjectUpdater {
	return ProjectUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Project{}),
	}
}

// ===== END of Project modifiers

// ===== BEGIN of query set ProviderQuerySet

// ProviderQuerySet is an queryset type for Provider
type ProviderQuerySet struct {
	db *gorm.DB
}

// NewProviderQuerySet constructs new ProviderQuerySet
func NewProviderQuerySet(db *gorm.DB) ProviderQuerySet {
	return ProviderQuerySet{
		db: db.Model(&Provider{}),
	}
}

func (qs ProviderQuerySet) w(db *gorm.DB) ProviderQuerySet {
	return NewProviderQuerySet(db)
}

func (qs ProviderQuerySet) Select(fields ...ProviderDBSchemaField) ProviderQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Provider) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Provider) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) All(ret *[]Provider) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) CreatedAtEq(createdAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) CreatedAtGt(createdAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) CreatedAtGte(createdAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) CreatedAtLt(createdAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) CreatedAtLte(createdAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) CreatedAtNe(createdAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) Delete() error {
	return qs.db.Delete(&Provider{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Provider{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Provider{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) GetUpdater() ProviderUpdater {
	return NewProviderUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) IDEq(ID ID) ProviderQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) IDGt(ID ID) ProviderQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) IDGte(ID ID) ProviderQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) IDIn(ID ...ID) ProviderQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) IDLt(ID ID) ProviderQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) IDLte(ID ID) ProviderQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) IDNe(ID ID) ProviderQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) IDNotIn(ID ...ID) ProviderQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) Limit(limit int) ProviderQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameEq(name config.Cloud) ProviderQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameGt(name config.Cloud) ProviderQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameGte(name config.Cloud) ProviderQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameIn(name ...config.Cloud) ProviderQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameLike(name config.Cloud) ProviderQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameLt(name config.Cloud) ProviderQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameLte(name config.Cloud) ProviderQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameNe(name config.Cloud) ProviderQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameNotIn(name ...config.Cloud) ProviderQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameNotlike(name config.Cloud) ProviderQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) Offset(offset int) ProviderQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ProviderQuerySet) One(ret *Provider) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderAscByCreatedAt() ProviderQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderAscByID() ProviderQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderAscByName() ProviderQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderAscByStatus() ProviderQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderAscByUpdatedAt() ProviderQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderDescByCreatedAt() ProviderQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderDescByID() ProviderQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderDescByName() ProviderQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderDescByStatus() ProviderQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderDescByUpdatedAt() ProviderQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusEq(status ProviderStatus) ProviderQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusGt(status ProviderStatus) ProviderQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusGte(status ProviderStatus) ProviderQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusIn(status ...ProviderStatus) ProviderQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusLike(status ProviderStatus) ProviderQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusLt(status ProviderStatus) ProviderQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusLte(status ProviderStatus) ProviderQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusNe(status ProviderStatus) ProviderQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusNotIn(status ...ProviderStatus) ProviderQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusNotlike(status ProviderStatus) ProviderQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) UpdatedAtEq(updatedAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) UpdatedAtGt(updatedAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) UpdatedAtGte(updatedAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) UpdatedAtIsNotNull() ProviderQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) UpdatedAtIsNull() ProviderQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) UpdatedAtLt(updatedAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) UpdatedAtLte(updatedAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) UpdatedAtNe(updatedAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ProviderUpdater) SetCreatedAt(createdAt time.Time) ProviderUpdater {
	u.fields[string(ProviderDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ProviderUpdater) SetID(ID ID) ProviderUpdater {
	u.fields[string(ProviderDBSchema.ID)] = ID
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u ProviderUpdater) SetName(name config.Cloud) ProviderUpdater {
	u.fields[string(ProviderDBSchema.Name)] = name
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u ProviderUpdater) SetStatus(status ProviderStatus) ProviderUpdater {
	u.fields[string(ProviderDBSchema.Status)] = status
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ProviderUpdater) SetUpdatedAt(updatedAt *time.Time) ProviderUpdater {
	u.fields[string(ProviderDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ProviderUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ProviderUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ProviderQuerySet

// ===== BEGIN of Provider modifiers

// ProviderDBSchemaField describes database schema field. It requires for method 'Update'
type ProviderDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ProviderDBSchemaField) String() string {
	return string(f)
}

// ProviderDBSchema stores db field names of Provider
var ProviderDBSchema = struct {
	ID        ProviderDBSchemaField
	CreatedAt ProviderDBSchemaField
	UpdatedAt ProviderDBSchemaField
	Name      ProviderDBSchemaField
	Status    ProviderDBSchemaField
}{

	ID:        ProviderDBSchemaField("id"),
	CreatedAt: ProviderDBSchemaField("created_at"),
	UpdatedAt: ProviderDBSchemaField("updated_at"),
	Name:      ProviderDBSchemaField("name"),
	Status:    ProviderDBSchemaField("status"),
}

// Update updates Provider fields by primary key
// nolint: dupl
func (o *Provider) Update(db *gorm.DB, fields ...ProviderDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"updated_at": o.UpdatedAt,
		"name":       o.Name,
		"status":     o.Status,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Provider %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ProviderUpdater is an Provider updates manager
type ProviderUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewProviderUpdater creates new Provider updater
// nolint: dupl
func NewProviderUpdater(db *gorm.DB) ProviderUpdater {
	return ProviderUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Provider{}),
	}
}

// ===== END of Provider modifiers

// ===== BEGIN of query set QuotaChangeLogQuerySet

// QuotaChangeLogQuerySet is an queryset type for QuotaChangeLog
type QuotaChangeLogQuerySet struct {
	db *gorm.DB
}

// NewQuotaChangeLogQuerySet constructs new QuotaChangeLogQuerySet
func NewQuotaChangeLogQuerySet(db *gorm.DB) QuotaChangeLogQuerySet {
	return QuotaChangeLogQuerySet{
		db: db.Model(&QuotaChangeLog{}),
	}
}

func (qs QuotaChangeLogQuerySet) w(db *gorm.DB) QuotaChangeLogQuerySet {
	return NewQuotaChangeLogQuerySet(db)
}

func (qs QuotaChangeLogQuerySet) Select(fields ...QuotaChangeLogDBSchemaField) QuotaChangeLogQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *QuotaChangeLog) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *QuotaChangeLog) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) All(ret *[]QuotaChangeLog) error {
	return qs.db.Find(ret).Error
}

// ChangedByIDEq is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIDEq(changedByID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("changed_by_id = ?", changedByID))
}

// ChangedByIDGt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIDGt(changedByID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("changed_by_id > ?", changedByID))
}

// ChangedByIDGte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIDGte(changedByID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("changed_by_id >= ?", changedByID))
}

// ChangedByIDIn is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIDIn(changedByID ...ID) QuotaChangeLogQuerySet {
	if len(changedByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one changedByID in ChangedByIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("changed_by_id IN (?)", changedByID))
}

// ChangedByIDLt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIDLt(changedByID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("changed_by_id < ?", changedByID))
}

// ChangedByIDLte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIDLte(changedByID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("changed_by_id <= ?", changedByID))
}

// ChangedByIDNe is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIDNe(changedByID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("changed_by_id != ?", changedByID))
}

// ChangedByIDNotIn is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIDNotIn(changedByID ...ID) QuotaChangeLogQuerySet {
	if len(changedByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one changedByID in ChangedByIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("changed_by_id NOT IN (?)", changedByID))
}

// ChangedByIsNotNull is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIsNotNull() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("changed_by IS NOT NULL"))
}

// ChangedByIsNull is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIsNull() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("changed_by IS NULL"))
}

// Count is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) CreatedAtEq(createdAt time.Time) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) CreatedAtGt(createdAt time.Time) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) CreatedAtGte(createdAt time.Time) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) CreatedAtLt(createdAt time.Time) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) CreatedAtLte(createdAt time.Time) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) CreatedAtNe(createdAt time.Time) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) Delete() error {
	return qs.db.Delete(&QuotaChangeLog{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&QuotaChangeLog{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&QuotaChangeLog{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) GetUpdater() QuotaChangeLogUpdater {
	return NewQuotaChangeLogUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) IDEq(ID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) IDGt(ID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) IDGte(ID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) IDIn(ID ...ID) QuotaChangeLogQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) IDLt(ID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) IDLte(ID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) IDNe(ID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) IDNotIn(ID ...ID) QuotaChangeLogQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) Limit(limit int) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NewQuotaEq is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) NewQuotaEq(newQuota uint64) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("new_quota = ?", newQuota))
}

// NewQuotaGt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) NewQuotaGt(newQuota uint64) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("new_quota > ?", newQuota))
}

// NewQuotaGte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) NewQuotaGte(newQuota uint64) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("new_quota >= ?", newQuota))
}

// NewQuotaIn is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) NewQuotaIn(newQuota ...uint64) QuotaChangeLogQuerySet {
	if len(newQuota) == 0 {
		qs.db.AddError(errors.New("must at least pass one newQuota in NewQuotaIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("new_quota IN (?)", newQuota))
}

// NewQuotaLt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) NewQuotaLt(newQuota uint64) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("new_quota < ?", newQuota))
}

// NewQuotaLte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) NewQuotaLte(newQuota uint64) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("new_quota <= ?", newQuota))
}

// NewQuotaNe is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) NewQuotaNe(newQuota uint64) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("new_quota != ?", newQuota))
}

// NewQuotaNotIn is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) NewQuotaNotIn(newQuota ...uint64) QuotaChangeLogQuerySet {
	if len(newQuota) == 0 {
		qs.db.AddError(errors.New("must at least pass one newQuota in NewQuotaNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("new_quota NOT IN (?)", newQuota))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) Offset(offset int) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs QuotaChangeLogQuerySet) One(ret *QuotaChangeLog) error {
	return qs.db.First(ret).Error
}

// OrderAscByChangedByID is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderAscByChangedByID() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("changed_by_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderAscByCreatedAt() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderAscByID() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByNewQuota is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderAscByNewQuota() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("new_quota ASC"))
}

// OrderAscByQuotaID is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderAscByQuotaID() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("quota_id ASC"))
}

// OrderDescByChangedByID is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderDescByChangedByID() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("changed_by_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderDescByCreatedAt() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderDescByID() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByNewQuota is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderDescByNewQuota() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("new_quota DESC"))
}

// OrderDescByQuotaID is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderDescByQuotaID() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("quota_id DESC"))
}

// PreloadChangedBy is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) PreloadChangedBy() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Preload("ChangedBy"))
}

// PreloadQuota is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) PreloadQuota() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Preload("Quota"))
}

// QuotaIDEq is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) QuotaIDEq(quotaID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("quota_id = ?", quotaID))
}

// QuotaIDGt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) QuotaIDGt(quotaID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("quota_id > ?", quotaID))
}

// QuotaIDGte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) QuotaIDGte(quotaID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("quota_id >= ?", quotaID))
}

// QuotaIDIn is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) QuotaIDIn(quotaID ...ID) QuotaChangeLogQuerySet {
	if len(quotaID) == 0 {
		qs.db.AddError(errors.New("must at least pass one quotaID in QuotaIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("quota_id IN (?)", quotaID))
}

// QuotaIDLt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) QuotaIDLt(quotaID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("quota_id < ?", quotaID))
}

// QuotaIDLte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) QuotaIDLte(quotaID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("quota_id <= ?", quotaID))
}

// QuotaIDNe is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) QuotaIDNe(quotaID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("quota_id != ?", quotaID))
}

// QuotaIDNotIn is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) QuotaIDNotIn(quotaID ...ID) QuotaChangeLogQuerySet {
	if len(quotaID) == 0 {
		qs.db.AddError(errors.New("must at least pass one quotaID in QuotaIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("quota_id NOT IN (?)", quotaID))
}

// SetChangedByID is an autogenerated method
// nolint: dupl
func (u QuotaChangeLogUpdater) SetChangedByID(changedByID ID) QuotaChangeLogUpdater {
	u.fields[string(QuotaChangeLogDBSchema.ChangedByID)] = changedByID
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u QuotaChangeLogUpdater) SetCreatedAt(createdAt time.Time) QuotaChangeLogUpdater {
	u.fields[string(QuotaChangeLogDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u QuotaChangeLogUpdater) SetID(ID ID) QuotaChangeLogUpdater {
	u.fields[string(QuotaChangeLogDBSchema.ID)] = ID
	return u
}

// SetNewQuota is an autogenerated method
// nolint: dupl
func (u QuotaChangeLogUpdater) SetNewQuota(newQuota uint64) QuotaChangeLogUpdater {
	u.fields[string(QuotaChangeLogDBSchema.NewQuota)] = newQuota
	return u
}

// SetQuota is an autogenerated method
// nolint: dupl
func (u QuotaChangeLogUpdater) SetQuota(quota Quota) QuotaChangeLogUpdater {
	u.fields[string(QuotaChangeLogDBSchema.Quota)] = quota
	return u
}

// SetQuotaID is an autogenerated method
// nolint: dupl
func (u QuotaChangeLogUpdater) SetQuotaID(quotaID ID) QuotaChangeLogUpdater {
	u.fields[string(QuotaChangeLogDBSchema.QuotaID)] = quotaID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u QuotaChangeLogUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u QuotaChangeLogUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set QuotaChangeLogQuerySet

// ===== BEGIN of QuotaChangeLog modifiers

// QuotaChangeLogDBSchemaField describes database schema field. It requires for method 'Update'
type QuotaChangeLogDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f QuotaChangeLogDBSchemaField) String() string {
	return string(f)
}

// QuotaChangeLogDBSchema stores db field names of QuotaChangeLog
var QuotaChangeLogDBSchema = struct {
	ID          QuotaChangeLogDBSchemaField
	CreatedAt   QuotaChangeLogDBSchemaField
	QuotaID     QuotaChangeLogDBSchemaField
	Quota       QuotaChangeLogDBSchemaField
	NewQuota    QuotaChangeLogDBSchemaField
	ChangedByID QuotaChangeLogDBSchemaField
	ChangedBy   QuotaChangeLogDBSchemaField
}{

	ID:          QuotaChangeLogDBSchemaField("id"),
	CreatedAt:   QuotaChangeLogDBSchemaField("created_at"),
	QuotaID:     QuotaChangeLogDBSchemaField("quota_id"),
	Quota:       QuotaChangeLogDBSchemaField("quota"),
	NewQuota:    QuotaChangeLogDBSchemaField("new_quota"),
	ChangedByID: QuotaChangeLogDBSchemaField("changed_by_id"),
	ChangedBy:   QuotaChangeLogDBSchemaField("changed_by"),
}

// Update updates QuotaChangeLog fields by primary key
// nolint: dupl
func (o *QuotaChangeLog) Update(db *gorm.DB, fields ...QuotaChangeLogDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":            o.ID,
		"created_at":    o.CreatedAt,
		"quota_id":      o.QuotaID,
		"quota":         o.Quota,
		"new_quota":     o.NewQuota,
		"changed_by_id": o.ChangedByID,
		"changed_by":    o.ChangedBy,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update QuotaChangeLog %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// QuotaChangeLogUpdater is an QuotaChangeLog updates manager
type QuotaChangeLogUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewQuotaChangeLogUpdater creates new QuotaChangeLog updater
// nolint: dupl
func NewQuotaChangeLogUpdater(db *gorm.DB) QuotaChangeLogUpdater {
	return QuotaChangeLogUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&QuotaChangeLog{}),
	}
}

// ===== END of QuotaChangeLog modifiers

// ===== BEGIN of query set QuotaQuerySet

// QuotaQuerySet is an queryset type for Quota
type QuotaQuerySet struct {
	db *gorm.DB
}

// NewQuotaQuerySet constructs new QuotaQuerySet
func NewQuotaQuerySet(db *gorm.DB) QuotaQuerySet {
	return QuotaQuerySet{
		db: db.Model(&Quota{}),
	}
}

func (qs QuotaQuerySet) w(db *gorm.DB) QuotaQuerySet {
	return NewQuotaQuerySet(db)
}

func (qs QuotaQuerySet) Select(fields ...QuotaDBSchemaField) QuotaQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Quota) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Quota) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) All(ret *[]Quota) error {
	return qs.db.Find(ret).Error
}

// ComponentNameEq is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameEq(componentName ComponentName) QuotaQuerySet {
	return qs.w(qs.db.Where("component_name = ?", componentName))
}

// ComponentNameGt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameGt(componentName ComponentName) QuotaQuerySet {
	return qs.w(qs.db.Where("component_name > ?", componentName))
}

// ComponentNameGte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameGte(componentName ComponentName) QuotaQuerySet {
	return qs.w(qs.db.Where("component_name >= ?", componentName))
}

// ComponentNameIn is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameIn(componentName ...ComponentName) QuotaQuerySet {
	if len(componentName) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentName in ComponentNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_name IN (?)", componentName))
}

// ComponentNameLike is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameLike(componentName ComponentName) QuotaQuerySet {
	return qs.w(qs.db.Where("component_name LIKE ?", componentName))
}

// ComponentNameLt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameLt(componentName ComponentName) QuotaQuerySet {
	return qs.w(qs.db.Where("component_name < ?", componentName))
}

// ComponentNameLte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameLte(componentName ComponentName) QuotaQuerySet {
	return qs.w(qs.db.Where("component_name <= ?", componentName))
}

// ComponentNameNe is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameNe(componentName ComponentName) QuotaQuerySet {
	return qs.w(qs.db.Where("component_name != ?", componentName))
}

// ComponentNameNotIn is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameNotIn(componentName ...ComponentName) QuotaQuerySet {
	if len(componentName) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentName in ComponentNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_name NOT IN (?)", componentName))
}

// ComponentNameNotlike is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameNotlike(componentName ComponentName) QuotaQuerySet {
	return qs.w(qs.db.Where("component_name NOT LIKE ?", componentName))
}

// Count is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) CreatedAtEq(createdAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) CreatedAtGt(createdAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) CreatedAtGte(createdAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) CreatedAtLt(createdAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) CreatedAtLte(createdAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) CreatedAtNe(createdAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) Delete() error {
	return qs.db.Delete(&Quota{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Quota{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Quota{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) GetUpdater() QuotaUpdater {
	return NewQuotaUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) IDEq(ID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) IDGt(ID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) IDGte(ID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) IDIn(ID ...ID) QuotaQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) IDLt(ID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) IDLte(ID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) IDNe(ID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) IDNotIn(ID ...ID) QuotaQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) Limit(limit int) QuotaQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) Offset(offset int) QuotaQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs QuotaQuerySet) One(ret *Quota) error {
	return qs.db.First(ret).Error
}

// OrderAscByComponentName is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderAscByComponentName() QuotaQuerySet {
	return qs.w(qs.db.Order("component_name ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderAscByCreatedAt() QuotaQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderAscByID() QuotaQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByQuota is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderAscByQuota() QuotaQuerySet {
	return qs.w(qs.db.Order("quota ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderAscByTenantID() QuotaQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderAscByUpdatedAt() QuotaQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByComponentName is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderDescByComponentName() QuotaQuerySet {
	return qs.w(qs.db.Order("component_name DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderDescByCreatedAt() QuotaQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderDescByID() QuotaQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByQuota is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderDescByQuota() QuotaQuerySet {
	return qs.w(qs.db.Order("quota DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderDescByTenantID() QuotaQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderDescByUpdatedAt() QuotaQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadTenant is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) PreloadTenant() QuotaQuerySet {
	return qs.w(qs.db.Preload("Tenant"))
}

// QuotaEq is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) QuotaEq(quota uint32) QuotaQuerySet {
	return qs.w(qs.db.Where("quota = ?", quota))
}

// QuotaGt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) QuotaGt(quota uint32) QuotaQuerySet {
	return qs.w(qs.db.Where("quota > ?", quota))
}

// QuotaGte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) QuotaGte(quota uint32) QuotaQuerySet {
	return qs.w(qs.db.Where("quota >= ?", quota))
}

// QuotaIn is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) QuotaIn(quota ...uint32) QuotaQuerySet {
	if len(quota) == 0 {
		qs.db.AddError(errors.New("must at least pass one quota in QuotaIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("quota IN (?)", quota))
}

// QuotaLt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) QuotaLt(quota uint32) QuotaQuerySet {
	return qs.w(qs.db.Where("quota < ?", quota))
}

// QuotaLte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) QuotaLte(quota uint32) QuotaQuerySet {
	return qs.w(qs.db.Where("quota <= ?", quota))
}

// QuotaNe is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) QuotaNe(quota uint32) QuotaQuerySet {
	return qs.w(qs.db.Where("quota != ?", quota))
}

// QuotaNotIn is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) QuotaNotIn(quota ...uint32) QuotaQuerySet {
	if len(quota) == 0 {
		qs.db.AddError(errors.New("must at least pass one quota in QuotaNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("quota NOT IN (?)", quota))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIDEq(tenantID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIDGt(tenantID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIDGte(tenantID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIDIn(tenantID ...ID) QuotaQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIDLt(tenantID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIDLte(tenantID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIDNe(tenantID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIDNotIn(tenantID ...ID) QuotaQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// TenantIsNotNull is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIsNotNull() QuotaQuerySet {
	return qs.w(qs.db.Where("tenant IS NOT NULL"))
}

// TenantIsNull is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIsNull() QuotaQuerySet {
	return qs.w(qs.db.Where("tenant IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) UpdatedAtEq(updatedAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) UpdatedAtGt(updatedAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) UpdatedAtGte(updatedAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) UpdatedAtIsNotNull() QuotaQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) UpdatedAtIsNull() QuotaQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) UpdatedAtLt(updatedAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) UpdatedAtLte(updatedAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) UpdatedAtNe(updatedAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetComponentName is an autogenerated method
// nolint: dupl
func (u QuotaUpdater) SetComponentName(componentName ComponentName) QuotaUpdater {
	u.fields[string(QuotaDBSchema.ComponentName)] = componentName
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u QuotaUpdater) SetCreatedAt(createdAt time.Time) QuotaUpdater {
	u.fields[string(QuotaDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u QuotaUpdater) SetID(ID ID) QuotaUpdater {
	u.fields[string(QuotaDBSchema.ID)] = ID
	return u
}

// SetQuota is an autogenerated method
// nolint: dupl
func (u QuotaUpdater) SetQuota(quota uint32) QuotaUpdater {
	u.fields[string(QuotaDBSchema.Quota)] = quota
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u QuotaUpdater) SetTenantID(tenantID ID) QuotaUpdater {
	u.fields[string(QuotaDBSchema.TenantID)] = tenantID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u QuotaUpdater) SetUpdatedAt(updatedAt *time.Time) QuotaUpdater {
	u.fields[string(QuotaDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u QuotaUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u QuotaUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set QuotaQuerySet

// ===== BEGIN of Quota modifiers

// QuotaDBSchemaField describes database schema field. It requires for method 'Update'
type QuotaDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f QuotaDBSchemaField) String() string {
	return string(f)
}

// QuotaDBSchema stores db field names of Quota
var QuotaDBSchema = struct {
	ID            QuotaDBSchemaField
	CreatedAt     QuotaDBSchemaField
	UpdatedAt     QuotaDBSchemaField
	TenantID      QuotaDBSchemaField
	Tenant        QuotaDBSchemaField
	ComponentName QuotaDBSchemaField
	Quota         QuotaDBSchemaField
}{

	ID:            QuotaDBSchemaField("id"),
	CreatedAt:     QuotaDBSchemaField("created_at"),
	UpdatedAt:     QuotaDBSchemaField("updated_at"),
	TenantID:      QuotaDBSchemaField("tenant_id"),
	Tenant:        QuotaDBSchemaField("tenant"),
	ComponentName: QuotaDBSchemaField("component_name"),
	Quota:         QuotaDBSchemaField("quota"),
}

// Update updates Quota fields by primary key
// nolint: dupl
func (o *Quota) Update(db *gorm.DB, fields ...QuotaDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":             o.ID,
		"created_at":     o.CreatedAt,
		"updated_at":     o.UpdatedAt,
		"tenant_id":      o.TenantID,
		"tenant":         o.Tenant,
		"component_name": o.ComponentName,
		"quota":          o.Quota,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Quota %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// QuotaUpdater is an Quota updates manager
type QuotaUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewQuotaUpdater creates new Quota updater
// nolint: dupl
func NewQuotaUpdater(db *gorm.DB) QuotaUpdater {
	return QuotaUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Quota{}),
	}
}

// ===== END of Quota modifiers

// ===== BEGIN of query set RateLimitQuerySet

// RateLimitQuerySet is an queryset type for RateLimit
type RateLimitQuerySet struct {
	db *gorm.DB
}

// NewRateLimitQuerySet constructs new RateLimitQuerySet
func NewRateLimitQuerySet(db *gorm.DB) RateLimitQuerySet {
	return RateLimitQuerySet{
		db: db.Model(&RateLimit{}),
	}
}

func (qs RateLimitQuerySet) w(db *gorm.DB) RateLimitQuerySet {
	return NewRateLimitQuerySet(db)
}

func (qs RateLimitQuerySet) Select(fields ...RateLimitDBSchemaField) RateLimitQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *RateLimit) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *RateLimit) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// ActiveEq is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) ActiveEq(active bool) RateLimitQuerySet {
	return qs.w(qs.db.Where("active = ?", active))
}

// ActiveIn is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) ActiveIn(active ...bool) RateLimitQuerySet {
	if len(active) == 0 {
		qs.db.AddError(errors.New("must at least pass one active in ActiveIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("active IN (?)", active))
}

// ActiveNe is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) ActiveNe(active bool) RateLimitQuerySet {
	return qs.w(qs.db.Where("active != ?", active))
}

// ActiveNotIn is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) ActiveNotIn(active ...bool) RateLimitQuerySet {
	if len(active) == 0 {
		qs.db.AddError(errors.New("must at least pass one active in ActiveNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("active NOT IN (?)", active))
}

// All is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) All(ret *[]RateLimit) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) CreatedAtEq(createdAt time.Time) RateLimitQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) CreatedAtGt(createdAt time.Time) RateLimitQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) CreatedAtGte(createdAt time.Time) RateLimitQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) CreatedAtLt(createdAt time.Time) RateLimitQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) CreatedAtLte(createdAt time.Time) RateLimitQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) CreatedAtNe(createdAt time.Time) RateLimitQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) Delete() error {
	return qs.db.Delete(&RateLimit{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&RateLimit{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&RateLimit{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) GetUpdater() RateLimitUpdater {
	return NewRateLimitUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) IDEq(ID ID) RateLimitQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) IDGt(ID ID) RateLimitQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) IDGte(ID ID) RateLimitQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) IDIn(ID ...ID) RateLimitQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) IDLt(ID ID) RateLimitQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) IDLte(ID ID) RateLimitQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) IDNe(ID ID) RateLimitQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) IDNotIn(ID ...ID) RateLimitQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) Limit(limit int) RateLimitQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// LimitKeyEq is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) LimitKeyEq(limitKey string) RateLimitQuerySet {
	return qs.w(qs.db.Where("limit_key = ?", limitKey))
}

// LimitKeyGt is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) LimitKeyGt(limitKey string) RateLimitQuerySet {
	return qs.w(qs.db.Where("limit_key > ?", limitKey))
}

// LimitKeyGte is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) LimitKeyGte(limitKey string) RateLimitQuerySet {
	return qs.w(qs.db.Where("limit_key >= ?", limitKey))
}

// LimitKeyIn is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) LimitKeyIn(limitKey ...string) RateLimitQuerySet {
	if len(limitKey) == 0 {
		qs.db.AddError(errors.New("must at least pass one limitKey in LimitKeyIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("limit_key IN (?)", limitKey))
}

// LimitKeyLike is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) LimitKeyLike(limitKey string) RateLimitQuerySet {
	return qs.w(qs.db.Where("limit_key LIKE ?", limitKey))
}

// LimitKeyLt is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) LimitKeyLt(limitKey string) RateLimitQuerySet {
	return qs.w(qs.db.Where("limit_key < ?", limitKey))
}

// LimitKeyLte is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) LimitKeyLte(limitKey string) RateLimitQuerySet {
	return qs.w(qs.db.Where("limit_key <= ?", limitKey))
}

// LimitKeyNe is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) LimitKeyNe(limitKey string) RateLimitQuerySet {
	return qs.w(qs.db.Where("limit_key != ?", limitKey))
}

// LimitKeyNotIn is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) LimitKeyNotIn(limitKey ...string) RateLimitQuerySet {
	if len(limitKey) == 0 {
		qs.db.AddError(errors.New("must at least pass one limitKey in LimitKeyNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("limit_key NOT IN (?)", limitKey))
}

// LimitKeyNotlike is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) LimitKeyNotlike(limitKey string) RateLimitQuerySet {
	return qs.w(qs.db.Where("limit_key NOT LIKE ?", limitKey))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) Offset(offset int) RateLimitQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs RateLimitQuerySet) One(ret *RateLimit) error {
	return qs.db.First(ret).Error
}

// OrderAscByActive is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) OrderAscByActive() RateLimitQuerySet {
	return qs.w(qs.db.Order("active ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) OrderAscByCreatedAt() RateLimitQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) OrderAscByID() RateLimitQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByLimitKey is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) OrderAscByLimitKey() RateLimitQuerySet {
	return qs.w(qs.db.Order("limit_key ASC"))
}

// OrderAscByRequestsPerUnit is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) OrderAscByRequestsPerUnit() RateLimitQuerySet {
	return qs.w(qs.db.Order("requests_per_unit ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) OrderAscByUpdatedAt() RateLimitQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByActive is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) OrderDescByActive() RateLimitQuerySet {
	return qs.w(qs.db.Order("active DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) OrderDescByCreatedAt() RateLimitQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) OrderDescByID() RateLimitQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByLimitKey is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) OrderDescByLimitKey() RateLimitQuerySet {
	return qs.w(qs.db.Order("limit_key DESC"))
}

// OrderDescByRequestsPerUnit is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) OrderDescByRequestsPerUnit() RateLimitQuerySet {
	return qs.w(qs.db.Order("requests_per_unit DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) OrderDescByUpdatedAt() RateLimitQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadMethods is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) PreloadMethods() RateLimitQuerySet {
	return qs.w(qs.db.Preload("Methods"))
}

// RequestsPerUnitEq is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) RequestsPerUnitEq(requestsPerUnit uint32) RateLimitQuerySet {
	return qs.w(qs.db.Where("requests_per_unit = ?", requestsPerUnit))
}

// RequestsPerUnitGt is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) RequestsPerUnitGt(requestsPerUnit uint32) RateLimitQuerySet {
	return qs.w(qs.db.Where("requests_per_unit > ?", requestsPerUnit))
}

// RequestsPerUnitGte is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) RequestsPerUnitGte(requestsPerUnit uint32) RateLimitQuerySet {
	return qs.w(qs.db.Where("requests_per_unit >= ?", requestsPerUnit))
}

// RequestsPerUnitIn is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) RequestsPerUnitIn(requestsPerUnit ...uint32) RateLimitQuerySet {
	if len(requestsPerUnit) == 0 {
		qs.db.AddError(errors.New("must at least pass one requestsPerUnit in RequestsPerUnitIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("requests_per_unit IN (?)", requestsPerUnit))
}

// RequestsPerUnitLt is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) RequestsPerUnitLt(requestsPerUnit uint32) RateLimitQuerySet {
	return qs.w(qs.db.Where("requests_per_unit < ?", requestsPerUnit))
}

// RequestsPerUnitLte is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) RequestsPerUnitLte(requestsPerUnit uint32) RateLimitQuerySet {
	return qs.w(qs.db.Where("requests_per_unit <= ?", requestsPerUnit))
}

// RequestsPerUnitNe is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) RequestsPerUnitNe(requestsPerUnit uint32) RateLimitQuerySet {
	return qs.w(qs.db.Where("requests_per_unit != ?", requestsPerUnit))
}

// RequestsPerUnitNotIn is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) RequestsPerUnitNotIn(requestsPerUnit ...uint32) RateLimitQuerySet {
	if len(requestsPerUnit) == 0 {
		qs.db.AddError(errors.New("must at least pass one requestsPerUnit in RequestsPerUnitNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("requests_per_unit NOT IN (?)", requestsPerUnit))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) UpdatedAtEq(updatedAt time.Time) RateLimitQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) UpdatedAtGt(updatedAt time.Time) RateLimitQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) UpdatedAtGte(updatedAt time.Time) RateLimitQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) UpdatedAtIsNotNull() RateLimitQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) UpdatedAtIsNull() RateLimitQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) UpdatedAtLt(updatedAt time.Time) RateLimitQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) UpdatedAtLte(updatedAt time.Time) RateLimitQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs RateLimitQuerySet) UpdatedAtNe(updatedAt time.Time) RateLimitQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetActive is an autogenerated method
// nolint: dupl
func (u RateLimitUpdater) SetActive(active bool) RateLimitUpdater {
	u.fields[string(RateLimitDBSchema.Active)] = active
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u RateLimitUpdater) SetCreatedAt(createdAt time.Time) RateLimitUpdater {
	u.fields[string(RateLimitDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u RateLimitUpdater) SetID(ID ID) RateLimitUpdater {
	u.fields[string(RateLimitDBSchema.ID)] = ID
	return u
}

// SetLimitKey is an autogenerated method
// nolint: dupl
func (u RateLimitUpdater) SetLimitKey(limitKey string) RateLimitUpdater {
	u.fields[string(RateLimitDBSchema.LimitKey)] = limitKey
	return u
}

// SetMethods is an autogenerated method
// nolint: dupl
func (u RateLimitUpdater) SetMethods(methods Methods) RateLimitUpdater {
	u.fields[string(RateLimitDBSchema.Methods)] = methods
	return u
}

// SetRequestsPerUnit is an autogenerated method
// nolint: dupl
func (u RateLimitUpdater) SetRequestsPerUnit(requestsPerUnit uint32) RateLimitUpdater {
	u.fields[string(RateLimitDBSchema.RequestsPerUnit)] = requestsPerUnit
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u RateLimitUpdater) SetUpdatedAt(updatedAt *time.Time) RateLimitUpdater {
	u.fields[string(RateLimitDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u RateLimitUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u RateLimitUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set RateLimitQuerySet

// ===== BEGIN of RateLimit modifiers

// RateLimitDBSchemaField describes database schema field. It requires for method 'Update'
type RateLimitDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f RateLimitDBSchemaField) String() string {
	return string(f)
}

// RateLimitDBSchema stores db field names of RateLimit
var RateLimitDBSchema = struct {
	ID              RateLimitDBSchemaField
	CreatedAt       RateLimitDBSchemaField
	UpdatedAt       RateLimitDBSchemaField
	LimitKey        RateLimitDBSchemaField
	RequestsPerUnit RateLimitDBSchemaField
	Active          RateLimitDBSchemaField
	Methods         RateLimitDBSchemaField
}{

	ID:              RateLimitDBSchemaField("id"),
	CreatedAt:       RateLimitDBSchemaField("created_at"),
	UpdatedAt:       RateLimitDBSchemaField("updated_at"),
	LimitKey:        RateLimitDBSchemaField("limit_key"),
	RequestsPerUnit: RateLimitDBSchemaField("requests_per_unit"),
	Active:          RateLimitDBSchemaField("active"),
	Methods:         RateLimitDBSchemaField("methods"),
}

// Update updates RateLimit fields by primary key
// nolint: dupl
func (o *RateLimit) Update(db *gorm.DB, fields ...RateLimitDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                o.ID,
		"created_at":        o.CreatedAt,
		"updated_at":        o.UpdatedAt,
		"limit_key":         o.LimitKey,
		"requests_per_unit": o.RequestsPerUnit,
		"active":            o.Active,
		"methods":           o.Methods,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update RateLimit %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// RateLimitUpdater is an RateLimit updates manager
type RateLimitUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewRateLimitUpdater creates new RateLimit updater
// nolint: dupl
func NewRateLimitUpdater(db *gorm.DB) RateLimitUpdater {
	return RateLimitUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&RateLimit{}),
	}
}

// ===== END of RateLimit modifiers

// ===== BEGIN of query set RegionDiskPriceQuerySet

// RegionDiskPriceQuerySet is an queryset type for RegionDiskPrice
type RegionDiskPriceQuerySet struct {
	db *gorm.DB
}

// NewRegionDiskPriceQuerySet constructs new RegionDiskPriceQuerySet
func NewRegionDiskPriceQuerySet(db *gorm.DB) RegionDiskPriceQuerySet {
	return RegionDiskPriceQuerySet{
		db: db.Model(&RegionDiskPrice{}),
	}
}

func (qs RegionDiskPriceQuerySet) w(db *gorm.DB) RegionDiskPriceQuerySet {
	return NewRegionDiskPriceQuerySet(db)
}

func (qs RegionDiskPriceQuerySet) Select(fields ...RegionDiskPriceDBSchemaField) RegionDiskPriceQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *RegionDiskPrice) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *RegionDiskPrice) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) All(ret *[]RegionDiskPrice) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) CreatedAtEq(createdAt time.Time) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) CreatedAtGt(createdAt time.Time) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) CreatedAtGte(createdAt time.Time) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) CreatedAtLt(createdAt time.Time) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) CreatedAtLte(createdAt time.Time) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) CreatedAtNe(createdAt time.Time) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) Delete() error {
	return qs.db.Delete(&RegionDiskPrice{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&RegionDiskPrice{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&RegionDiskPrice{})
	return db.RowsAffected, db.Error
}

// EffectedAtEq is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) EffectedAtEq(effectedAt time.Time) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("effected_at = ?", effectedAt))
}

// EffectedAtGt is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) EffectedAtGt(effectedAt time.Time) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("effected_at > ?", effectedAt))
}

// EffectedAtGte is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) EffectedAtGte(effectedAt time.Time) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("effected_at >= ?", effectedAt))
}

// EffectedAtLt is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) EffectedAtLt(effectedAt time.Time) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("effected_at < ?", effectedAt))
}

// EffectedAtLte is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) EffectedAtLte(effectedAt time.Time) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("effected_at <= ?", effectedAt))
}

// EffectedAtNe is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) EffectedAtNe(effectedAt time.Time) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("effected_at != ?", effectedAt))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) GetUpdater() RegionDiskPriceUpdater {
	return NewRegionDiskPriceUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) IDEq(ID ID) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) IDGt(ID ID) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) IDGte(ID ID) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) IDIn(ID ...ID) RegionDiskPriceQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) IDLt(ID ID) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) IDLte(ID ID) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) IDNe(ID ID) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) IDNotIn(ID ...ID) RegionDiskPriceQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) Limit(limit int) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) Offset(offset int) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs RegionDiskPriceQuerySet) One(ret *RegionDiskPrice) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) OrderAscByCreatedAt() RegionDiskPriceQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByEffectedAt is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) OrderAscByEffectedAt() RegionDiskPriceQuerySet {
	return qs.w(qs.db.Order("effected_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) OrderAscByID() RegionDiskPriceQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByPrice is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) OrderAscByPrice() RegionDiskPriceQuerySet {
	return qs.w(qs.db.Order("price ASC"))
}

// OrderAscByRegionDiskID is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) OrderAscByRegionDiskID() RegionDiskPriceQuerySet {
	return qs.w(qs.db.Order("region_disk_id ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) OrderDescByCreatedAt() RegionDiskPriceQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByEffectedAt is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) OrderDescByEffectedAt() RegionDiskPriceQuerySet {
	return qs.w(qs.db.Order("effected_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) OrderDescByID() RegionDiskPriceQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByPrice is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) OrderDescByPrice() RegionDiskPriceQuerySet {
	return qs.w(qs.db.Order("price DESC"))
}

// OrderDescByRegionDiskID is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) OrderDescByRegionDiskID() RegionDiskPriceQuerySet {
	return qs.w(qs.db.Order("region_disk_id DESC"))
}

// PreloadRegionDisk is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) PreloadRegionDisk() RegionDiskPriceQuerySet {
	return qs.w(qs.db.Preload("RegionDisk"))
}

// PriceEq is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) PriceEq(price float64) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("price = ?", price))
}

// PriceGt is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) PriceGt(price float64) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("price > ?", price))
}

// PriceGte is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) PriceGte(price float64) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("price >= ?", price))
}

// PriceIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) PriceIn(price ...float64) RegionDiskPriceQuerySet {
	if len(price) == 0 {
		qs.db.AddError(errors.New("must at least pass one price in PriceIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("price IN (?)", price))
}

// PriceLt is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) PriceLt(price float64) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("price < ?", price))
}

// PriceLte is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) PriceLte(price float64) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("price <= ?", price))
}

// PriceNe is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) PriceNe(price float64) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("price != ?", price))
}

// PriceNotIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) PriceNotIn(price ...float64) RegionDiskPriceQuerySet {
	if len(price) == 0 {
		qs.db.AddError(errors.New("must at least pass one price in PriceNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("price NOT IN (?)", price))
}

// RegionDiskIDEq is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) RegionDiskIDEq(regionDiskID ID) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("region_disk_id = ?", regionDiskID))
}

// RegionDiskIDGt is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) RegionDiskIDGt(regionDiskID ID) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("region_disk_id > ?", regionDiskID))
}

// RegionDiskIDGte is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) RegionDiskIDGte(regionDiskID ID) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("region_disk_id >= ?", regionDiskID))
}

// RegionDiskIDIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) RegionDiskIDIn(regionDiskID ...ID) RegionDiskPriceQuerySet {
	if len(regionDiskID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionDiskID in RegionDiskIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_disk_id IN (?)", regionDiskID))
}

// RegionDiskIDLt is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) RegionDiskIDLt(regionDiskID ID) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("region_disk_id < ?", regionDiskID))
}

// RegionDiskIDLte is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) RegionDiskIDLte(regionDiskID ID) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("region_disk_id <= ?", regionDiskID))
}

// RegionDiskIDNe is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) RegionDiskIDNe(regionDiskID ID) RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("region_disk_id != ?", regionDiskID))
}

// RegionDiskIDNotIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) RegionDiskIDNotIn(regionDiskID ...ID) RegionDiskPriceQuerySet {
	if len(regionDiskID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionDiskID in RegionDiskIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_disk_id NOT IN (?)", regionDiskID))
}

// RegionDiskIsNotNull is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) RegionDiskIsNotNull() RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("region_disk IS NOT NULL"))
}

// RegionDiskIsNull is an autogenerated method
// nolint: dupl
func (qs RegionDiskPriceQuerySet) RegionDiskIsNull() RegionDiskPriceQuerySet {
	return qs.w(qs.db.Where("region_disk IS NULL"))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u RegionDiskPriceUpdater) SetCreatedAt(createdAt time.Time) RegionDiskPriceUpdater {
	u.fields[string(RegionDiskPriceDBSchema.CreatedAt)] = createdAt
	return u
}

// SetEffectedAt is an autogenerated method
// nolint: dupl
func (u RegionDiskPriceUpdater) SetEffectedAt(effectedAt time.Time) RegionDiskPriceUpdater {
	u.fields[string(RegionDiskPriceDBSchema.EffectedAt)] = effectedAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u RegionDiskPriceUpdater) SetID(ID ID) RegionDiskPriceUpdater {
	u.fields[string(RegionDiskPriceDBSchema.ID)] = ID
	return u
}

// SetPrice is an autogenerated method
// nolint: dupl
func (u RegionDiskPriceUpdater) SetPrice(price float64) RegionDiskPriceUpdater {
	u.fields[string(RegionDiskPriceDBSchema.Price)] = price
	return u
}

// SetRegionDiskID is an autogenerated method
// nolint: dupl
func (u RegionDiskPriceUpdater) SetRegionDiskID(regionDiskID ID) RegionDiskPriceUpdater {
	u.fields[string(RegionDiskPriceDBSchema.RegionDiskID)] = regionDiskID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u RegionDiskPriceUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u RegionDiskPriceUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set RegionDiskPriceQuerySet

// ===== BEGIN of RegionDiskPrice modifiers

// RegionDiskPriceDBSchemaField describes database schema field. It requires for method 'Update'
type RegionDiskPriceDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f RegionDiskPriceDBSchemaField) String() string {
	return string(f)
}

// RegionDiskPriceDBSchema stores db field names of RegionDiskPrice
var RegionDiskPriceDBSchema = struct {
	ID           RegionDiskPriceDBSchemaField
	CreatedAt    RegionDiskPriceDBSchemaField
	EffectedAt   RegionDiskPriceDBSchemaField
	Price        RegionDiskPriceDBSchemaField
	RegionDiskID RegionDiskPriceDBSchemaField
	RegionDisk   RegionDiskPriceDBSchemaField
}{

	ID:           RegionDiskPriceDBSchemaField("id"),
	CreatedAt:    RegionDiskPriceDBSchemaField("created_at"),
	EffectedAt:   RegionDiskPriceDBSchemaField("effected_at"),
	Price:        RegionDiskPriceDBSchemaField("price"),
	RegionDiskID: RegionDiskPriceDBSchemaField("region_disk_id"),
	RegionDisk:   RegionDiskPriceDBSchemaField("region_disk"),
}

// Update updates RegionDiskPrice fields by primary key
// nolint: dupl
func (o *RegionDiskPrice) Update(db *gorm.DB, fields ...RegionDiskPriceDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":             o.ID,
		"created_at":     o.CreatedAt,
		"effected_at":    o.EffectedAt,
		"price":          o.Price,
		"region_disk_id": o.RegionDiskID,
		"region_disk":    o.RegionDisk,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update RegionDiskPrice %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// RegionDiskPriceUpdater is an RegionDiskPrice updates manager
type RegionDiskPriceUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewRegionDiskPriceUpdater creates new RegionDiskPrice updater
// nolint: dupl
func NewRegionDiskPriceUpdater(db *gorm.DB) RegionDiskPriceUpdater {
	return RegionDiskPriceUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&RegionDiskPrice{}),
	}
}

// ===== END of RegionDiskPrice modifiers

// ===== BEGIN of query set RegionDiskQuerySet

// RegionDiskQuerySet is an queryset type for RegionDisk
type RegionDiskQuerySet struct {
	db *gorm.DB
}

// NewRegionDiskQuerySet constructs new RegionDiskQuerySet
func NewRegionDiskQuerySet(db *gorm.DB) RegionDiskQuerySet {
	return RegionDiskQuerySet{
		db: db.Model(&RegionDisk{}),
	}
}

func (qs RegionDiskQuerySet) w(db *gorm.DB) RegionDiskQuerySet {
	return NewRegionDiskQuerySet(db)
}

func (qs RegionDiskQuerySet) Select(fields ...RegionDiskDBSchemaField) RegionDiskQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *RegionDisk) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *RegionDisk) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) All(ret *[]RegionDisk) error {
	return qs.db.Find(ret).Error
}

// CapacityEq is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) CapacityEq(capacity uint32) RegionDiskQuerySet {
	return qs.w(qs.db.Where("capacity = ?", capacity))
}

// CapacityGt is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) CapacityGt(capacity uint32) RegionDiskQuerySet {
	return qs.w(qs.db.Where("capacity > ?", capacity))
}

// CapacityGte is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) CapacityGte(capacity uint32) RegionDiskQuerySet {
	return qs.w(qs.db.Where("capacity >= ?", capacity))
}

// CapacityIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) CapacityIn(capacity ...uint32) RegionDiskQuerySet {
	if len(capacity) == 0 {
		qs.db.AddError(errors.New("must at least pass one capacity in CapacityIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("capacity IN (?)", capacity))
}

// CapacityLt is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) CapacityLt(capacity uint32) RegionDiskQuerySet {
	return qs.w(qs.db.Where("capacity < ?", capacity))
}

// CapacityLte is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) CapacityLte(capacity uint32) RegionDiskQuerySet {
	return qs.w(qs.db.Where("capacity <= ?", capacity))
}

// CapacityNe is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) CapacityNe(capacity uint32) RegionDiskQuerySet {
	return qs.w(qs.db.Where("capacity != ?", capacity))
}

// CapacityNotIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) CapacityNotIn(capacity ...uint32) RegionDiskQuerySet {
	if len(capacity) == 0 {
		qs.db.AddError(errors.New("must at least pass one capacity in CapacityNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("capacity NOT IN (?)", capacity))
}

// Count is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) CreatedAtEq(createdAt time.Time) RegionDiskQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) CreatedAtGt(createdAt time.Time) RegionDiskQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) CreatedAtGte(createdAt time.Time) RegionDiskQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) CreatedAtLt(createdAt time.Time) RegionDiskQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) CreatedAtLte(createdAt time.Time) RegionDiskQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) CreatedAtNe(createdAt time.Time) RegionDiskQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) Delete() error {
	return qs.db.Delete(&RegionDisk{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&RegionDisk{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&RegionDisk{})
	return db.RowsAffected, db.Error
}

// DiskProfileIDEq is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DiskProfileIDEq(diskProfileID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("disk_profile_id = ?", diskProfileID))
}

// DiskProfileIDGt is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DiskProfileIDGt(diskProfileID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("disk_profile_id > ?", diskProfileID))
}

// DiskProfileIDGte is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DiskProfileIDGte(diskProfileID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("disk_profile_id >= ?", diskProfileID))
}

// DiskProfileIDIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DiskProfileIDIn(diskProfileID ...ID) RegionDiskQuerySet {
	if len(diskProfileID) == 0 {
		qs.db.AddError(errors.New("must at least pass one diskProfileID in DiskProfileIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("disk_profile_id IN (?)", diskProfileID))
}

// DiskProfileIDLt is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DiskProfileIDLt(diskProfileID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("disk_profile_id < ?", diskProfileID))
}

// DiskProfileIDLte is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DiskProfileIDLte(diskProfileID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("disk_profile_id <= ?", diskProfileID))
}

// DiskProfileIDNe is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DiskProfileIDNe(diskProfileID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("disk_profile_id != ?", diskProfileID))
}

// DiskProfileIDNotIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DiskProfileIDNotIn(diskProfileID ...ID) RegionDiskQuerySet {
	if len(diskProfileID) == 0 {
		qs.db.AddError(errors.New("must at least pass one diskProfileID in DiskProfileIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("disk_profile_id NOT IN (?)", diskProfileID))
}

// DiskProfileIsNotNull is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DiskProfileIsNotNull() RegionDiskQuerySet {
	return qs.w(qs.db.Where("disk_profile IS NOT NULL"))
}

// DiskProfileIsNull is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DiskProfileIsNull() RegionDiskQuerySet {
	return qs.w(qs.db.Where("disk_profile IS NULL"))
}

// DisplayNameEq is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DisplayNameEq(displayName string) RegionDiskQuerySet {
	return qs.w(qs.db.Where("display_name = ?", displayName))
}

// DisplayNameGt is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DisplayNameGt(displayName string) RegionDiskQuerySet {
	return qs.w(qs.db.Where("display_name > ?", displayName))
}

// DisplayNameGte is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DisplayNameGte(displayName string) RegionDiskQuerySet {
	return qs.w(qs.db.Where("display_name >= ?", displayName))
}

// DisplayNameIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DisplayNameIn(displayName ...string) RegionDiskQuerySet {
	if len(displayName) == 0 {
		qs.db.AddError(errors.New("must at least pass one displayName in DisplayNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("display_name IN (?)", displayName))
}

// DisplayNameLike is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DisplayNameLike(displayName string) RegionDiskQuerySet {
	return qs.w(qs.db.Where("display_name LIKE ?", displayName))
}

// DisplayNameLt is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DisplayNameLt(displayName string) RegionDiskQuerySet {
	return qs.w(qs.db.Where("display_name < ?", displayName))
}

// DisplayNameLte is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DisplayNameLte(displayName string) RegionDiskQuerySet {
	return qs.w(qs.db.Where("display_name <= ?", displayName))
}

// DisplayNameNe is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DisplayNameNe(displayName string) RegionDiskQuerySet {
	return qs.w(qs.db.Where("display_name != ?", displayName))
}

// DisplayNameNotIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DisplayNameNotIn(displayName ...string) RegionDiskQuerySet {
	if len(displayName) == 0 {
		qs.db.AddError(errors.New("must at least pass one displayName in DisplayNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("display_name NOT IN (?)", displayName))
}

// DisplayNameNotlike is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) DisplayNameNotlike(displayName string) RegionDiskQuerySet {
	return qs.w(qs.db.Where("display_name NOT LIKE ?", displayName))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) GetUpdater() RegionDiskUpdater {
	return NewRegionDiskUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) IDEq(ID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) IDGt(ID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) IDGte(ID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) IDIn(ID ...ID) RegionDiskQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) IDLt(ID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) IDLte(ID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) IDNe(ID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) IDNotIn(ID ...ID) RegionDiskQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) Limit(limit int) RegionDiskQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) NameEq(name string) RegionDiskQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) NameGt(name string) RegionDiskQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) NameGte(name string) RegionDiskQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) NameIn(name ...string) RegionDiskQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) NameLike(name string) RegionDiskQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) NameLt(name string) RegionDiskQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) NameLte(name string) RegionDiskQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) NameNe(name string) RegionDiskQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) NameNotIn(name ...string) RegionDiskQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) NameNotlike(name string) RegionDiskQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) Offset(offset int) RegionDiskQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs RegionDiskQuerySet) One(ret *RegionDisk) error {
	return qs.db.First(ret).Error
}

// OrderAscByCapacity is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) OrderAscByCapacity() RegionDiskQuerySet {
	return qs.w(qs.db.Order("capacity ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) OrderAscByCreatedAt() RegionDiskQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDiskProfileID is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) OrderAscByDiskProfileID() RegionDiskQuerySet {
	return qs.w(qs.db.Order("disk_profile_id ASC"))
}

// OrderAscByDisplayName is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) OrderAscByDisplayName() RegionDiskQuerySet {
	return qs.w(qs.db.Order("display_name ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) OrderAscByID() RegionDiskQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) OrderAscByName() RegionDiskQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByRegionID is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) OrderAscByRegionID() RegionDiskQuerySet {
	return qs.w(qs.db.Order("region_id ASC"))
}

// OrderDescByCapacity is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) OrderDescByCapacity() RegionDiskQuerySet {
	return qs.w(qs.db.Order("capacity DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) OrderDescByCreatedAt() RegionDiskQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDiskProfileID is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) OrderDescByDiskProfileID() RegionDiskQuerySet {
	return qs.w(qs.db.Order("disk_profile_id DESC"))
}

// OrderDescByDisplayName is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) OrderDescByDisplayName() RegionDiskQuerySet {
	return qs.w(qs.db.Order("display_name DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) OrderDescByID() RegionDiskQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) OrderDescByName() RegionDiskQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByRegionID is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) OrderDescByRegionID() RegionDiskQuerySet {
	return qs.w(qs.db.Order("region_id DESC"))
}

// PreloadDiskProfile is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) PreloadDiskProfile() RegionDiskQuerySet {
	return qs.w(qs.db.Preload("DiskProfile"))
}

// PreloadRegion is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) PreloadRegion() RegionDiskQuerySet {
	return qs.w(qs.db.Preload("Region"))
}

// RegionIDEq is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) RegionIDEq(regionID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("region_id = ?", regionID))
}

// RegionIDGt is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) RegionIDGt(regionID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("region_id > ?", regionID))
}

// RegionIDGte is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) RegionIDGte(regionID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("region_id >= ?", regionID))
}

// RegionIDIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) RegionIDIn(regionID ...ID) RegionDiskQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id IN (?)", regionID))
}

// RegionIDLt is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) RegionIDLt(regionID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("region_id < ?", regionID))
}

// RegionIDLte is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) RegionIDLte(regionID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("region_id <= ?", regionID))
}

// RegionIDNe is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) RegionIDNe(regionID ID) RegionDiskQuerySet {
	return qs.w(qs.db.Where("region_id != ?", regionID))
}

// RegionIDNotIn is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) RegionIDNotIn(regionID ...ID) RegionDiskQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id NOT IN (?)", regionID))
}

// RegionIsNotNull is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) RegionIsNotNull() RegionDiskQuerySet {
	return qs.w(qs.db.Where("region IS NOT NULL"))
}

// RegionIsNull is an autogenerated method
// nolint: dupl
func (qs RegionDiskQuerySet) RegionIsNull() RegionDiskQuerySet {
	return qs.w(qs.db.Where("region IS NULL"))
}

// SetCapacity is an autogenerated method
// nolint: dupl
func (u RegionDiskUpdater) SetCapacity(capacity uint32) RegionDiskUpdater {
	u.fields[string(RegionDiskDBSchema.Capacity)] = capacity
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u RegionDiskUpdater) SetCreatedAt(createdAt time.Time) RegionDiskUpdater {
	u.fields[string(RegionDiskDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDiskProfileID is an autogenerated method
// nolint: dupl
func (u RegionDiskUpdater) SetDiskProfileID(diskProfileID ID) RegionDiskUpdater {
	u.fields[string(RegionDiskDBSchema.DiskProfileID)] = diskProfileID
	return u
}

// SetDisplayName is an autogenerated method
// nolint: dupl
func (u RegionDiskUpdater) SetDisplayName(displayName string) RegionDiskUpdater {
	u.fields[string(RegionDiskDBSchema.DisplayName)] = displayName
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u RegionDiskUpdater) SetID(ID ID) RegionDiskUpdater {
	u.fields[string(RegionDiskDBSchema.ID)] = ID
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u RegionDiskUpdater) SetName(name string) RegionDiskUpdater {
	u.fields[string(RegionDiskDBSchema.Name)] = name
	return u
}

// SetRegionID is an autogenerated method
// nolint: dupl
func (u RegionDiskUpdater) SetRegionID(regionID ID) RegionDiskUpdater {
	u.fields[string(RegionDiskDBSchema.RegionID)] = regionID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u RegionDiskUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u RegionDiskUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set RegionDiskQuerySet

// ===== BEGIN of RegionDisk modifiers

// RegionDiskDBSchemaField describes database schema field. It requires for method 'Update'
type RegionDiskDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f RegionDiskDBSchemaField) String() string {
	return string(f)
}

// RegionDiskDBSchema stores db field names of RegionDisk
var RegionDiskDBSchema = struct {
	ID            RegionDiskDBSchemaField
	CreatedAt     RegionDiskDBSchemaField
	Name          RegionDiskDBSchemaField
	DisplayName   RegionDiskDBSchemaField
	Capacity      RegionDiskDBSchemaField
	RegionID      RegionDiskDBSchemaField
	Region        RegionDiskDBSchemaField
	DiskProfileID RegionDiskDBSchemaField
	DiskProfile   RegionDiskDBSchemaField
}{

	ID:            RegionDiskDBSchemaField("id"),
	CreatedAt:     RegionDiskDBSchemaField("created_at"),
	Name:          RegionDiskDBSchemaField("name"),
	DisplayName:   RegionDiskDBSchemaField("display_name"),
	Capacity:      RegionDiskDBSchemaField("capacity"),
	RegionID:      RegionDiskDBSchemaField("region_id"),
	Region:        RegionDiskDBSchemaField("region"),
	DiskProfileID: RegionDiskDBSchemaField("disk_profile_id"),
	DiskProfile:   RegionDiskDBSchemaField("disk_profile"),
}

// Update updates RegionDisk fields by primary key
// nolint: dupl
func (o *RegionDisk) Update(db *gorm.DB, fields ...RegionDiskDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":              o.ID,
		"created_at":      o.CreatedAt,
		"name":            o.Name,
		"display_name":    o.DisplayName,
		"capacity":        o.Capacity,
		"region_id":       o.RegionID,
		"region":          o.Region,
		"disk_profile_id": o.DiskProfileID,
		"disk_profile":    o.DiskProfile,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update RegionDisk %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// RegionDiskUpdater is an RegionDisk updates manager
type RegionDiskUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewRegionDiskUpdater creates new RegionDisk updater
// nolint: dupl
func NewRegionDiskUpdater(db *gorm.DB) RegionDiskUpdater {
	return RegionDiskUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&RegionDisk{}),
	}
}

// ===== END of RegionDisk modifiers

// ===== BEGIN of query set RegionMachinePriceQuerySet

// RegionMachinePriceQuerySet is an queryset type for RegionMachinePrice
type RegionMachinePriceQuerySet struct {
	db *gorm.DB
}

// NewRegionMachinePriceQuerySet constructs new RegionMachinePriceQuerySet
func NewRegionMachinePriceQuerySet(db *gorm.DB) RegionMachinePriceQuerySet {
	return RegionMachinePriceQuerySet{
		db: db.Model(&RegionMachinePrice{}),
	}
}

func (qs RegionMachinePriceQuerySet) w(db *gorm.DB) RegionMachinePriceQuerySet {
	return NewRegionMachinePriceQuerySet(db)
}

func (qs RegionMachinePriceQuerySet) Select(fields ...RegionMachinePriceDBSchemaField) RegionMachinePriceQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *RegionMachinePrice) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *RegionMachinePrice) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) All(ret *[]RegionMachinePrice) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) CreatedAtEq(createdAt time.Time) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) CreatedAtGt(createdAt time.Time) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) CreatedAtGte(createdAt time.Time) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) CreatedAtLt(createdAt time.Time) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) CreatedAtLte(createdAt time.Time) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) CreatedAtNe(createdAt time.Time) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) Delete() error {
	return qs.db.Delete(&RegionMachinePrice{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&RegionMachinePrice{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&RegionMachinePrice{})
	return db.RowsAffected, db.Error
}

// EffectedAtEq is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) EffectedAtEq(effectedAt time.Time) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("effected_at = ?", effectedAt))
}

// EffectedAtGt is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) EffectedAtGt(effectedAt time.Time) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("effected_at > ?", effectedAt))
}

// EffectedAtGte is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) EffectedAtGte(effectedAt time.Time) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("effected_at >= ?", effectedAt))
}

// EffectedAtLt is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) EffectedAtLt(effectedAt time.Time) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("effected_at < ?", effectedAt))
}

// EffectedAtLte is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) EffectedAtLte(effectedAt time.Time) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("effected_at <= ?", effectedAt))
}

// EffectedAtNe is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) EffectedAtNe(effectedAt time.Time) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("effected_at != ?", effectedAt))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) GetUpdater() RegionMachinePriceUpdater {
	return NewRegionMachinePriceUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) IDEq(ID ID) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) IDGt(ID ID) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) IDGte(ID ID) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) IDIn(ID ...ID) RegionMachinePriceQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) IDLt(ID ID) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) IDLte(ID ID) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) IDNe(ID ID) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) IDNotIn(ID ...ID) RegionMachinePriceQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) Limit(limit int) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) Offset(offset int) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs RegionMachinePriceQuerySet) One(ret *RegionMachinePrice) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) OrderAscByCreatedAt() RegionMachinePriceQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByEffectedAt is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) OrderAscByEffectedAt() RegionMachinePriceQuerySet {
	return qs.w(qs.db.Order("effected_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) OrderAscByID() RegionMachinePriceQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByPrice is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) OrderAscByPrice() RegionMachinePriceQuerySet {
	return qs.w(qs.db.Order("price ASC"))
}

// OrderAscByRegionMachineID is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) OrderAscByRegionMachineID() RegionMachinePriceQuerySet {
	return qs.w(qs.db.Order("region_machine_id ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) OrderDescByCreatedAt() RegionMachinePriceQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByEffectedAt is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) OrderDescByEffectedAt() RegionMachinePriceQuerySet {
	return qs.w(qs.db.Order("effected_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) OrderDescByID() RegionMachinePriceQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByPrice is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) OrderDescByPrice() RegionMachinePriceQuerySet {
	return qs.w(qs.db.Order("price DESC"))
}

// OrderDescByRegionMachineID is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) OrderDescByRegionMachineID() RegionMachinePriceQuerySet {
	return qs.w(qs.db.Order("region_machine_id DESC"))
}

// PreloadRegionMachine is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) PreloadRegionMachine() RegionMachinePriceQuerySet {
	return qs.w(qs.db.Preload("RegionMachine"))
}

// PriceEq is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) PriceEq(price float64) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("price = ?", price))
}

// PriceGt is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) PriceGt(price float64) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("price > ?", price))
}

// PriceGte is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) PriceGte(price float64) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("price >= ?", price))
}

// PriceIn is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) PriceIn(price ...float64) RegionMachinePriceQuerySet {
	if len(price) == 0 {
		qs.db.AddError(errors.New("must at least pass one price in PriceIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("price IN (?)", price))
}

// PriceLt is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) PriceLt(price float64) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("price < ?", price))
}

// PriceLte is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) PriceLte(price float64) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("price <= ?", price))
}

// PriceNe is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) PriceNe(price float64) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("price != ?", price))
}

// PriceNotIn is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) PriceNotIn(price ...float64) RegionMachinePriceQuerySet {
	if len(price) == 0 {
		qs.db.AddError(errors.New("must at least pass one price in PriceNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("price NOT IN (?)", price))
}

// RegionMachineIDEq is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) RegionMachineIDEq(regionMachineID ID) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("region_machine_id = ?", regionMachineID))
}

// RegionMachineIDGt is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) RegionMachineIDGt(regionMachineID ID) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("region_machine_id > ?", regionMachineID))
}

// RegionMachineIDGte is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) RegionMachineIDGte(regionMachineID ID) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("region_machine_id >= ?", regionMachineID))
}

// RegionMachineIDIn is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) RegionMachineIDIn(regionMachineID ...ID) RegionMachinePriceQuerySet {
	if len(regionMachineID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionMachineID in RegionMachineIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_machine_id IN (?)", regionMachineID))
}

// RegionMachineIDLt is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) RegionMachineIDLt(regionMachineID ID) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("region_machine_id < ?", regionMachineID))
}

// RegionMachineIDLte is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) RegionMachineIDLte(regionMachineID ID) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("region_machine_id <= ?", regionMachineID))
}

// RegionMachineIDNe is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) RegionMachineIDNe(regionMachineID ID) RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("region_machine_id != ?", regionMachineID))
}

// RegionMachineIDNotIn is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) RegionMachineIDNotIn(regionMachineID ...ID) RegionMachinePriceQuerySet {
	if len(regionMachineID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionMachineID in RegionMachineIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_machine_id NOT IN (?)", regionMachineID))
}

// RegionMachineIsNotNull is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) RegionMachineIsNotNull() RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("region_machine IS NOT NULL"))
}

// RegionMachineIsNull is an autogenerated method
// nolint: dupl
func (qs RegionMachinePriceQuerySet) RegionMachineIsNull() RegionMachinePriceQuerySet {
	return qs.w(qs.db.Where("region_machine IS NULL"))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u RegionMachinePriceUpdater) SetCreatedAt(createdAt time.Time) RegionMachinePriceUpdater {
	u.fields[string(RegionMachinePriceDBSchema.CreatedAt)] = createdAt
	return u
}

// SetEffectedAt is an autogenerated method
// nolint: dupl
func (u RegionMachinePriceUpdater) SetEffectedAt(effectedAt time.Time) RegionMachinePriceUpdater {
	u.fields[string(RegionMachinePriceDBSchema.EffectedAt)] = effectedAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u RegionMachinePriceUpdater) SetID(ID ID) RegionMachinePriceUpdater {
	u.fields[string(RegionMachinePriceDBSchema.ID)] = ID
	return u
}

// SetPrice is an autogenerated method
// nolint: dupl
func (u RegionMachinePriceUpdater) SetPrice(price float64) RegionMachinePriceUpdater {
	u.fields[string(RegionMachinePriceDBSchema.Price)] = price
	return u
}

// SetRegionMachineID is an autogenerated method
// nolint: dupl
func (u RegionMachinePriceUpdater) SetRegionMachineID(regionMachineID ID) RegionMachinePriceUpdater {
	u.fields[string(RegionMachinePriceDBSchema.RegionMachineID)] = regionMachineID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u RegionMachinePriceUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u RegionMachinePriceUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set RegionMachinePriceQuerySet

// ===== BEGIN of RegionMachinePrice modifiers

// RegionMachinePriceDBSchemaField describes database schema field. It requires for method 'Update'
type RegionMachinePriceDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f RegionMachinePriceDBSchemaField) String() string {
	return string(f)
}

// RegionMachinePriceDBSchema stores db field names of RegionMachinePrice
var RegionMachinePriceDBSchema = struct {
	ID              RegionMachinePriceDBSchemaField
	CreatedAt       RegionMachinePriceDBSchemaField
	EffectedAt      RegionMachinePriceDBSchemaField
	Price           RegionMachinePriceDBSchemaField
	RegionMachineID RegionMachinePriceDBSchemaField
	RegionMachine   RegionMachinePriceDBSchemaField
}{

	ID:              RegionMachinePriceDBSchemaField("id"),
	CreatedAt:       RegionMachinePriceDBSchemaField("created_at"),
	EffectedAt:      RegionMachinePriceDBSchemaField("effected_at"),
	Price:           RegionMachinePriceDBSchemaField("price"),
	RegionMachineID: RegionMachinePriceDBSchemaField("region_machine_id"),
	RegionMachine:   RegionMachinePriceDBSchemaField("region_machine"),
}

// Update updates RegionMachinePrice fields by primary key
// nolint: dupl
func (o *RegionMachinePrice) Update(db *gorm.DB, fields ...RegionMachinePriceDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                o.ID,
		"created_at":        o.CreatedAt,
		"effected_at":       o.EffectedAt,
		"price":             o.Price,
		"region_machine_id": o.RegionMachineID,
		"region_machine":    o.RegionMachine,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update RegionMachinePrice %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// RegionMachinePriceUpdater is an RegionMachinePrice updates manager
type RegionMachinePriceUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewRegionMachinePriceUpdater creates new RegionMachinePrice updater
// nolint: dupl
func NewRegionMachinePriceUpdater(db *gorm.DB) RegionMachinePriceUpdater {
	return RegionMachinePriceUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&RegionMachinePrice{}),
	}
}

// ===== END of RegionMachinePrice modifiers

// ===== BEGIN of query set RegionMachineQuerySet

// RegionMachineQuerySet is an queryset type for RegionMachine
type RegionMachineQuerySet struct {
	db *gorm.DB
}

// NewRegionMachineQuerySet constructs new RegionMachineQuerySet
func NewRegionMachineQuerySet(db *gorm.DB) RegionMachineQuerySet {
	return RegionMachineQuerySet{
		db: db.Model(&RegionMachine{}),
	}
}

func (qs RegionMachineQuerySet) w(db *gorm.DB) RegionMachineQuerySet {
	return NewRegionMachineQuerySet(db)
}

func (qs RegionMachineQuerySet) Select(fields ...RegionMachineDBSchemaField) RegionMachineQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *RegionMachine) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *RegionMachine) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) All(ret *[]RegionMachine) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) CreatedAtEq(createdAt time.Time) RegionMachineQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) CreatedAtGt(createdAt time.Time) RegionMachineQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) CreatedAtGte(createdAt time.Time) RegionMachineQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) CreatedAtLt(createdAt time.Time) RegionMachineQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) CreatedAtLte(createdAt time.Time) RegionMachineQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) CreatedAtNe(createdAt time.Time) RegionMachineQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) Delete() error {
	return qs.db.Delete(&RegionMachine{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&RegionMachine{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&RegionMachine{})
	return db.RowsAffected, db.Error
}

// DisplayNameEq is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) DisplayNameEq(displayName string) RegionMachineQuerySet {
	return qs.w(qs.db.Where("display_name = ?", displayName))
}

// DisplayNameGt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) DisplayNameGt(displayName string) RegionMachineQuerySet {
	return qs.w(qs.db.Where("display_name > ?", displayName))
}

// DisplayNameGte is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) DisplayNameGte(displayName string) RegionMachineQuerySet {
	return qs.w(qs.db.Where("display_name >= ?", displayName))
}

// DisplayNameIn is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) DisplayNameIn(displayName ...string) RegionMachineQuerySet {
	if len(displayName) == 0 {
		qs.db.AddError(errors.New("must at least pass one displayName in DisplayNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("display_name IN (?)", displayName))
}

// DisplayNameLike is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) DisplayNameLike(displayName string) RegionMachineQuerySet {
	return qs.w(qs.db.Where("display_name LIKE ?", displayName))
}

// DisplayNameLt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) DisplayNameLt(displayName string) RegionMachineQuerySet {
	return qs.w(qs.db.Where("display_name < ?", displayName))
}

// DisplayNameLte is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) DisplayNameLte(displayName string) RegionMachineQuerySet {
	return qs.w(qs.db.Where("display_name <= ?", displayName))
}

// DisplayNameNe is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) DisplayNameNe(displayName string) RegionMachineQuerySet {
	return qs.w(qs.db.Where("display_name != ?", displayName))
}

// DisplayNameNotIn is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) DisplayNameNotIn(displayName ...string) RegionMachineQuerySet {
	if len(displayName) == 0 {
		qs.db.AddError(errors.New("must at least pass one displayName in DisplayNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("display_name NOT IN (?)", displayName))
}

// DisplayNameNotlike is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) DisplayNameNotlike(displayName string) RegionMachineQuerySet {
	return qs.w(qs.db.Where("display_name NOT LIKE ?", displayName))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) GetUpdater() RegionMachineUpdater {
	return NewRegionMachineUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) IDEq(ID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) IDGt(ID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) IDGte(ID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) IDIn(ID ...ID) RegionMachineQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) IDLt(ID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) IDLte(ID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) IDNe(ID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) IDNotIn(ID ...ID) RegionMachineQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) Limit(limit int) RegionMachineQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// MachineProfileIDEq is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) MachineProfileIDEq(machineProfileID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("machine_profile_id = ?", machineProfileID))
}

// MachineProfileIDGt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) MachineProfileIDGt(machineProfileID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("machine_profile_id > ?", machineProfileID))
}

// MachineProfileIDGte is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) MachineProfileIDGte(machineProfileID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("machine_profile_id >= ?", machineProfileID))
}

// MachineProfileIDIn is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) MachineProfileIDIn(machineProfileID ...ID) RegionMachineQuerySet {
	if len(machineProfileID) == 0 {
		qs.db.AddError(errors.New("must at least pass one machineProfileID in MachineProfileIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("machine_profile_id IN (?)", machineProfileID))
}

// MachineProfileIDLt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) MachineProfileIDLt(machineProfileID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("machine_profile_id < ?", machineProfileID))
}

// MachineProfileIDLte is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) MachineProfileIDLte(machineProfileID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("machine_profile_id <= ?", machineProfileID))
}

// MachineProfileIDNe is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) MachineProfileIDNe(machineProfileID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("machine_profile_id != ?", machineProfileID))
}

// MachineProfileIDNotIn is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) MachineProfileIDNotIn(machineProfileID ...ID) RegionMachineQuerySet {
	if len(machineProfileID) == 0 {
		qs.db.AddError(errors.New("must at least pass one machineProfileID in MachineProfileIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("machine_profile_id NOT IN (?)", machineProfileID))
}

// MachineProfileIsNotNull is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) MachineProfileIsNotNull() RegionMachineQuerySet {
	return qs.w(qs.db.Where("machine_profile IS NOT NULL"))
}

// MachineProfileIsNull is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) MachineProfileIsNull() RegionMachineQuerySet {
	return qs.w(qs.db.Where("machine_profile IS NULL"))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) NameEq(name string) RegionMachineQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) NameGt(name string) RegionMachineQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) NameGte(name string) RegionMachineQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) NameIn(name ...string) RegionMachineQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) NameLike(name string) RegionMachineQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) NameLt(name string) RegionMachineQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) NameLte(name string) RegionMachineQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) NameNe(name string) RegionMachineQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) NameNotIn(name ...string) RegionMachineQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) NameNotlike(name string) RegionMachineQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) Offset(offset int) RegionMachineQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs RegionMachineQuerySet) One(ret *RegionMachine) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) OrderAscByCreatedAt() RegionMachineQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDisplayName is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) OrderAscByDisplayName() RegionMachineQuerySet {
	return qs.w(qs.db.Order("display_name ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) OrderAscByID() RegionMachineQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByMachineProfileID is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) OrderAscByMachineProfileID() RegionMachineQuerySet {
	return qs.w(qs.db.Order("machine_profile_id ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) OrderAscByName() RegionMachineQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByRegionID is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) OrderAscByRegionID() RegionMachineQuerySet {
	return qs.w(qs.db.Order("region_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) OrderAscByUpdatedAt() RegionMachineQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) OrderDescByCreatedAt() RegionMachineQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDisplayName is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) OrderDescByDisplayName() RegionMachineQuerySet {
	return qs.w(qs.db.Order("display_name DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) OrderDescByID() RegionMachineQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByMachineProfileID is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) OrderDescByMachineProfileID() RegionMachineQuerySet {
	return qs.w(qs.db.Order("machine_profile_id DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) OrderDescByName() RegionMachineQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByRegionID is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) OrderDescByRegionID() RegionMachineQuerySet {
	return qs.w(qs.db.Order("region_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) OrderDescByUpdatedAt() RegionMachineQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadMachineProfile is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) PreloadMachineProfile() RegionMachineQuerySet {
	return qs.w(qs.db.Preload("MachineProfile"))
}

// PreloadRegion is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) PreloadRegion() RegionMachineQuerySet {
	return qs.w(qs.db.Preload("Region"))
}

// RegionIDEq is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) RegionIDEq(regionID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("region_id = ?", regionID))
}

// RegionIDGt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) RegionIDGt(regionID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("region_id > ?", regionID))
}

// RegionIDGte is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) RegionIDGte(regionID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("region_id >= ?", regionID))
}

// RegionIDIn is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) RegionIDIn(regionID ...ID) RegionMachineQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id IN (?)", regionID))
}

// RegionIDLt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) RegionIDLt(regionID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("region_id < ?", regionID))
}

// RegionIDLte is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) RegionIDLte(regionID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("region_id <= ?", regionID))
}

// RegionIDNe is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) RegionIDNe(regionID ID) RegionMachineQuerySet {
	return qs.w(qs.db.Where("region_id != ?", regionID))
}

// RegionIDNotIn is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) RegionIDNotIn(regionID ...ID) RegionMachineQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id NOT IN (?)", regionID))
}

// RegionIsNotNull is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) RegionIsNotNull() RegionMachineQuerySet {
	return qs.w(qs.db.Where("region IS NOT NULL"))
}

// RegionIsNull is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) RegionIsNull() RegionMachineQuerySet {
	return qs.w(qs.db.Where("region IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) UpdatedAtEq(updatedAt time.Time) RegionMachineQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) UpdatedAtGt(updatedAt time.Time) RegionMachineQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) UpdatedAtGte(updatedAt time.Time) RegionMachineQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) UpdatedAtIsNotNull() RegionMachineQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) UpdatedAtIsNull() RegionMachineQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) UpdatedAtLt(updatedAt time.Time) RegionMachineQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) UpdatedAtLte(updatedAt time.Time) RegionMachineQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs RegionMachineQuerySet) UpdatedAtNe(updatedAt time.Time) RegionMachineQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u RegionMachineUpdater) SetCreatedAt(createdAt time.Time) RegionMachineUpdater {
	u.fields[string(RegionMachineDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDisplayName is an autogenerated method
// nolint: dupl
func (u RegionMachineUpdater) SetDisplayName(displayName string) RegionMachineUpdater {
	u.fields[string(RegionMachineDBSchema.DisplayName)] = displayName
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u RegionMachineUpdater) SetID(ID ID) RegionMachineUpdater {
	u.fields[string(RegionMachineDBSchema.ID)] = ID
	return u
}

// SetMachineProfileID is an autogenerated method
// nolint: dupl
func (u RegionMachineUpdater) SetMachineProfileID(machineProfileID ID) RegionMachineUpdater {
	u.fields[string(RegionMachineDBSchema.MachineProfileID)] = machineProfileID
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u RegionMachineUpdater) SetName(name string) RegionMachineUpdater {
	u.fields[string(RegionMachineDBSchema.Name)] = name
	return u
}

// SetRegionID is an autogenerated method
// nolint: dupl
func (u RegionMachineUpdater) SetRegionID(regionID ID) RegionMachineUpdater {
	u.fields[string(RegionMachineDBSchema.RegionID)] = regionID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u RegionMachineUpdater) SetUpdatedAt(updatedAt *time.Time) RegionMachineUpdater {
	u.fields[string(RegionMachineDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u RegionMachineUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u RegionMachineUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set RegionMachineQuerySet

// ===== BEGIN of RegionMachine modifiers

// RegionMachineDBSchemaField describes database schema field. It requires for method 'Update'
type RegionMachineDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f RegionMachineDBSchemaField) String() string {
	return string(f)
}

// RegionMachineDBSchema stores db field names of RegionMachine
var RegionMachineDBSchema = struct {
	ID               RegionMachineDBSchemaField
	CreatedAt        RegionMachineDBSchemaField
	UpdatedAt        RegionMachineDBSchemaField
	Name             RegionMachineDBSchemaField
	DisplayName      RegionMachineDBSchemaField
	RegionID         RegionMachineDBSchemaField
	Region           RegionMachineDBSchemaField
	MachineProfileID RegionMachineDBSchemaField
	MachineProfile   RegionMachineDBSchemaField
}{

	ID:               RegionMachineDBSchemaField("id"),
	CreatedAt:        RegionMachineDBSchemaField("created_at"),
	UpdatedAt:        RegionMachineDBSchemaField("updated_at"),
	Name:             RegionMachineDBSchemaField("name"),
	DisplayName:      RegionMachineDBSchemaField("display_name"),
	RegionID:         RegionMachineDBSchemaField("region_id"),
	Region:           RegionMachineDBSchemaField("region"),
	MachineProfileID: RegionMachineDBSchemaField("machine_profile_id"),
	MachineProfile:   RegionMachineDBSchemaField("machine_profile"),
}

// Update updates RegionMachine fields by primary key
// nolint: dupl
func (o *RegionMachine) Update(db *gorm.DB, fields ...RegionMachineDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                 o.ID,
		"created_at":         o.CreatedAt,
		"updated_at":         o.UpdatedAt,
		"name":               o.Name,
		"display_name":       o.DisplayName,
		"region_id":          o.RegionID,
		"region":             o.Region,
		"machine_profile_id": o.MachineProfileID,
		"machine_profile":    o.MachineProfile,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update RegionMachine %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// RegionMachineUpdater is an RegionMachine updates manager
type RegionMachineUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewRegionMachineUpdater creates new RegionMachine updater
// nolint: dupl
func NewRegionMachineUpdater(db *gorm.DB) RegionMachineUpdater {
	return RegionMachineUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&RegionMachine{}),
	}
}

// ===== END of RegionMachine modifiers

// ===== BEGIN of query set RegionQuerySet

// RegionQuerySet is an queryset type for Region
type RegionQuerySet struct {
	db *gorm.DB
}

// NewRegionQuerySet constructs new RegionQuerySet
func NewRegionQuerySet(db *gorm.DB) RegionQuerySet {
	return RegionQuerySet{
		db: db.Model(&Region{}),
	}
}

func (qs RegionQuerySet) w(db *gorm.DB) RegionQuerySet {
	return NewRegionQuerySet(db)
}

func (qs RegionQuerySet) Select(fields ...RegionDBSchemaField) RegionQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Region) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Region) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) All(ret *[]Region) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CreatedAtEq(createdAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CreatedAtGt(createdAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CreatedAtGte(createdAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CreatedAtLt(createdAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CreatedAtLte(createdAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CreatedAtNe(createdAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) Delete() error {
	return qs.db.Delete(&Region{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Region{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Region{})
	return db.RowsAffected, db.Error
}

// DisplayNameEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameEq(displayName string) RegionQuerySet {
	return qs.w(qs.db.Where("display_name = ?", displayName))
}

// DisplayNameGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameGt(displayName string) RegionQuerySet {
	return qs.w(qs.db.Where("display_name > ?", displayName))
}

// DisplayNameGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameGte(displayName string) RegionQuerySet {
	return qs.w(qs.db.Where("display_name >= ?", displayName))
}

// DisplayNameIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameIn(displayName ...string) RegionQuerySet {
	if len(displayName) == 0 {
		qs.db.AddError(errors.New("must at least pass one displayName in DisplayNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("display_name IN (?)", displayName))
}

// DisplayNameLike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameLike(displayName string) RegionQuerySet {
	return qs.w(qs.db.Where("display_name LIKE ?", displayName))
}

// DisplayNameLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameLt(displayName string) RegionQuerySet {
	return qs.w(qs.db.Where("display_name < ?", displayName))
}

// DisplayNameLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameLte(displayName string) RegionQuerySet {
	return qs.w(qs.db.Where("display_name <= ?", displayName))
}

// DisplayNameNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameNe(displayName string) RegionQuerySet {
	return qs.w(qs.db.Where("display_name != ?", displayName))
}

// DisplayNameNotIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameNotIn(displayName ...string) RegionQuerySet {
	if len(displayName) == 0 {
		qs.db.AddError(errors.New("must at least pass one displayName in DisplayNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("display_name NOT IN (?)", displayName))
}

// DisplayNameNotlike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameNotlike(displayName string) RegionQuerySet {
	return qs.w(qs.db.Where("display_name NOT LIKE ?", displayName))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) GetUpdater() RegionUpdater {
	return NewRegionUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IDEq(ID ID) RegionQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IDGt(ID ID) RegionQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IDGte(ID ID) RegionQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IDIn(ID ...ID) RegionQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IDLt(ID ID) RegionQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IDLte(ID ID) RegionQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IDNe(ID ID) RegionQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IDNotIn(ID ...ID) RegionQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) Limit(limit int) RegionQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameEq(name string) RegionQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameGt(name string) RegionQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameGte(name string) RegionQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameIn(name ...string) RegionQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameLike(name string) RegionQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameLt(name string) RegionQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameLte(name string) RegionQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameNe(name string) RegionQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameNotIn(name ...string) RegionQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameNotlike(name string) RegionQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) Offset(offset int) RegionQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs RegionQuerySet) One(ret *Region) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByCreatedAt() RegionQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDisplayName is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByDisplayName() RegionQuerySet {
	return qs.w(qs.db.Order("display_name ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByID() RegionQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByName() RegionQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByProviderID is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByProviderID() RegionQuerySet {
	return qs.w(qs.db.Order("provider_id ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByStatus() RegionQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByUpdatedAt() RegionQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByCreatedAt() RegionQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDisplayName is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByDisplayName() RegionQuerySet {
	return qs.w(qs.db.Order("display_name DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByID() RegionQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByName() RegionQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByProviderID is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByProviderID() RegionQuerySet {
	return qs.w(qs.db.Order("provider_id DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByStatus() RegionQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByUpdatedAt() RegionQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadProvider is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) PreloadProvider() RegionQuerySet {
	return qs.w(qs.db.Preload("Provider"))
}

// ProviderIDEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIDEq(providerID ID) RegionQuerySet {
	return qs.w(qs.db.Where("provider_id = ?", providerID))
}

// ProviderIDGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIDGt(providerID ID) RegionQuerySet {
	return qs.w(qs.db.Where("provider_id > ?", providerID))
}

// ProviderIDGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIDGte(providerID ID) RegionQuerySet {
	return qs.w(qs.db.Where("provider_id >= ?", providerID))
}

// ProviderIDIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIDIn(providerID ...ID) RegionQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id IN (?)", providerID))
}

// ProviderIDLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIDLt(providerID ID) RegionQuerySet {
	return qs.w(qs.db.Where("provider_id < ?", providerID))
}

// ProviderIDLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIDLte(providerID ID) RegionQuerySet {
	return qs.w(qs.db.Where("provider_id <= ?", providerID))
}

// ProviderIDNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIDNe(providerID ID) RegionQuerySet {
	return qs.w(qs.db.Where("provider_id != ?", providerID))
}

// ProviderIDNotIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIDNotIn(providerID ...ID) RegionQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id NOT IN (?)", providerID))
}

// ProviderIsNotNull is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIsNotNull() RegionQuerySet {
	return qs.w(qs.db.Where("provider IS NOT NULL"))
}

// ProviderIsNull is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIsNull() RegionQuerySet {
	return qs.w(qs.db.Where("provider IS NULL"))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusEq(status RegionStatus) RegionQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusGt(status RegionStatus) RegionQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusGte(status RegionStatus) RegionQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusIn(status ...RegionStatus) RegionQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusLike(status RegionStatus) RegionQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusLt(status RegionStatus) RegionQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusLte(status RegionStatus) RegionQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusNe(status RegionStatus) RegionQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusNotIn(status ...RegionStatus) RegionQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusNotlike(status RegionStatus) RegionQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) UpdatedAtEq(updatedAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) UpdatedAtGt(updatedAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) UpdatedAtGte(updatedAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) UpdatedAtIsNotNull() RegionQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) UpdatedAtIsNull() RegionQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) UpdatedAtLt(updatedAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) UpdatedAtLte(updatedAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) UpdatedAtNe(updatedAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetCreatedAt(createdAt time.Time) RegionUpdater {
	u.fields[string(RegionDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDisplayName is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetDisplayName(displayName string) RegionUpdater {
	u.fields[string(RegionDBSchema.DisplayName)] = displayName
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetID(ID ID) RegionUpdater {
	u.fields[string(RegionDBSchema.ID)] = ID
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetName(name string) RegionUpdater {
	u.fields[string(RegionDBSchema.Name)] = name
	return u
}

// SetProviderID is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetProviderID(providerID ID) RegionUpdater {
	u.fields[string(RegionDBSchema.ProviderID)] = providerID
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetStatus(status RegionStatus) RegionUpdater {
	u.fields[string(RegionDBSchema.Status)] = status
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetUpdatedAt(updatedAt *time.Time) RegionUpdater {
	u.fields[string(RegionDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u RegionUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u RegionUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set RegionQuerySet

// ===== BEGIN of Region modifiers

// RegionDBSchemaField describes database schema field. It requires for method 'Update'
type RegionDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f RegionDBSchemaField) String() string {
	return string(f)
}

// RegionDBSchema stores db field names of Region
var RegionDBSchema = struct {
	ID          RegionDBSchemaField
	CreatedAt   RegionDBSchemaField
	UpdatedAt   RegionDBSchemaField
	Name        RegionDBSchemaField
	DisplayName RegionDBSchemaField
	ProviderID  RegionDBSchemaField
	Provider    RegionDBSchemaField
	Status      RegionDBSchemaField
}{

	ID:          RegionDBSchemaField("id"),
	CreatedAt:   RegionDBSchemaField("created_at"),
	UpdatedAt:   RegionDBSchemaField("updated_at"),
	Name:        RegionDBSchemaField("name"),
	DisplayName: RegionDBSchemaField("display_name"),
	ProviderID:  RegionDBSchemaField("provider_id"),
	Provider:    RegionDBSchemaField("provider"),
	Status:      RegionDBSchemaField("status"),
}

// Update updates Region fields by primary key
// nolint: dupl
func (o *Region) Update(db *gorm.DB, fields ...RegionDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":           o.ID,
		"created_at":   o.CreatedAt,
		"updated_at":   o.UpdatedAt,
		"name":         o.Name,
		"display_name": o.DisplayName,
		"provider_id":  o.ProviderID,
		"provider":     o.Provider,
		"status":       o.Status,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Region %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// RegionUpdater is an Region updates manager
type RegionUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewRegionUpdater creates new Region updater
// nolint: dupl
func NewRegionUpdater(db *gorm.DB) RegionUpdater {
	return RegionUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Region{}),
	}
}

// ===== END of Region modifiers

// ===== BEGIN of query set RegistrationLogQuerySet

// RegistrationLogQuerySet is an queryset type for RegistrationLog
type RegistrationLogQuerySet struct {
	db *gorm.DB
}

// NewRegistrationLogQuerySet constructs new RegistrationLogQuerySet
func NewRegistrationLogQuerySet(db *gorm.DB) RegistrationLogQuerySet {
	return RegistrationLogQuerySet{
		db: db.Model(&RegistrationLog{}),
	}
}

func (qs RegistrationLogQuerySet) w(db *gorm.DB) RegistrationLogQuerySet {
	return NewRegistrationLogQuerySet(db)
}

func (qs RegistrationLogQuerySet) Select(fields ...RegistrationLogDBSchemaField) RegistrationLogQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *RegistrationLog) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *RegistrationLog) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) All(ret *[]RegistrationLog) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) CreatedAtEq(createdAt time.Time) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) CreatedAtGt(createdAt time.Time) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) CreatedAtGte(createdAt time.Time) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) CreatedAtLt(createdAt time.Time) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) CreatedAtLte(createdAt time.Time) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) CreatedAtNe(createdAt time.Time) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) Delete() error {
	return qs.db.Delete(&RegistrationLog{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&RegistrationLog{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&RegistrationLog{})
	return db.RowsAffected, db.Error
}

// EmailEq is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) EmailEq(email string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("email = ?", email))
}

// EmailGt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) EmailGt(email string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("email > ?", email))
}

// EmailGte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) EmailGte(email string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("email >= ?", email))
}

// EmailIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) EmailIn(email ...string) RegistrationLogQuerySet {
	if len(email) == 0 {
		qs.db.AddError(errors.New("must at least pass one email in EmailIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("email IN (?)", email))
}

// EmailLike is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) EmailLike(email string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("email LIKE ?", email))
}

// EmailLt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) EmailLt(email string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("email < ?", email))
}

// EmailLte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) EmailLte(email string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("email <= ?", email))
}

// EmailNe is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) EmailNe(email string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("email != ?", email))
}

// EmailNotIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) EmailNotIn(email ...string) RegistrationLogQuerySet {
	if len(email) == 0 {
		qs.db.AddError(errors.New("must at least pass one email in EmailNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("email NOT IN (?)", email))
}

// EmailNotlike is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) EmailNotlike(email string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("email NOT LIKE ?", email))
}

// FirstNameEq is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) FirstNameEq(firstName string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("first_name = ?", firstName))
}

// FirstNameGt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) FirstNameGt(firstName string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("first_name > ?", firstName))
}

// FirstNameGte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) FirstNameGte(firstName string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("first_name >= ?", firstName))
}

// FirstNameIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) FirstNameIn(firstName ...string) RegistrationLogQuerySet {
	if len(firstName) == 0 {
		qs.db.AddError(errors.New("must at least pass one firstName in FirstNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("first_name IN (?)", firstName))
}

// FirstNameLike is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) FirstNameLike(firstName string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("first_name LIKE ?", firstName))
}

// FirstNameLt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) FirstNameLt(firstName string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("first_name < ?", firstName))
}

// FirstNameLte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) FirstNameLte(firstName string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("first_name <= ?", firstName))
}

// FirstNameNe is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) FirstNameNe(firstName string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("first_name != ?", firstName))
}

// FirstNameNotIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) FirstNameNotIn(firstName ...string) RegistrationLogQuerySet {
	if len(firstName) == 0 {
		qs.db.AddError(errors.New("must at least pass one firstName in FirstNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("first_name NOT IN (?)", firstName))
}

// FirstNameNotlike is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) FirstNameNotlike(firstName string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("first_name NOT LIKE ?", firstName))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) GetUpdater() RegistrationLogUpdater {
	return NewRegistrationLogUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IDEq(ID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IDGt(ID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IDGte(ID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IDIn(ID ...ID) RegistrationLogQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IDLt(ID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IDLte(ID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IDNe(ID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IDNotIn(ID ...ID) RegistrationLogQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// IPAddressEq is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IPAddressEq(iPAddress string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("ip_address = ?", iPAddress))
}

// IPAddressGt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IPAddressGt(iPAddress string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("ip_address > ?", iPAddress))
}

// IPAddressGte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IPAddressGte(iPAddress string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("ip_address >= ?", iPAddress))
}

// IPAddressIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IPAddressIn(iPAddress ...string) RegistrationLogQuerySet {
	if len(iPAddress) == 0 {
		qs.db.AddError(errors.New("must at least pass one iPAddress in IPAddressIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("ip_address IN (?)", iPAddress))
}

// IPAddressLike is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IPAddressLike(iPAddress string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("ip_address LIKE ?", iPAddress))
}

// IPAddressLt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IPAddressLt(iPAddress string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("ip_address < ?", iPAddress))
}

// IPAddressLte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IPAddressLte(iPAddress string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("ip_address <= ?", iPAddress))
}

// IPAddressNe is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IPAddressNe(iPAddress string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("ip_address != ?", iPAddress))
}

// IPAddressNotIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IPAddressNotIn(iPAddress ...string) RegistrationLogQuerySet {
	if len(iPAddress) == 0 {
		qs.db.AddError(errors.New("must at least pass one iPAddress in IPAddressNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("ip_address NOT IN (?)", iPAddress))
}

// IPAddressNotlike is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) IPAddressNotlike(iPAddress string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("ip_address NOT LIKE ?", iPAddress))
}

// InvitedAtEq is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) InvitedAtEq(invitedAt time.Time) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("invited_at = ?", invitedAt))
}

// InvitedAtGt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) InvitedAtGt(invitedAt time.Time) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("invited_at > ?", invitedAt))
}

// InvitedAtGte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) InvitedAtGte(invitedAt time.Time) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("invited_at >= ?", invitedAt))
}

// InvitedAtLt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) InvitedAtLt(invitedAt time.Time) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("invited_at < ?", invitedAt))
}

// InvitedAtLte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) InvitedAtLte(invitedAt time.Time) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("invited_at <= ?", invitedAt))
}

// InvitedAtNe is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) InvitedAtNe(invitedAt time.Time) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("invited_at != ?", invitedAt))
}

// InvitedByIDEq is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) InvitedByIDEq(invitedByID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("invited_by_id = ?", invitedByID))
}

// InvitedByIDGt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) InvitedByIDGt(invitedByID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("invited_by_id > ?", invitedByID))
}

// InvitedByIDGte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) InvitedByIDGte(invitedByID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("invited_by_id >= ?", invitedByID))
}

// InvitedByIDIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) InvitedByIDIn(invitedByID ...ID) RegistrationLogQuerySet {
	if len(invitedByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one invitedByID in InvitedByIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("invited_by_id IN (?)", invitedByID))
}

// InvitedByIDLt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) InvitedByIDLt(invitedByID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("invited_by_id < ?", invitedByID))
}

// InvitedByIDLte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) InvitedByIDLte(invitedByID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("invited_by_id <= ?", invitedByID))
}

// InvitedByIDNe is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) InvitedByIDNe(invitedByID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("invited_by_id != ?", invitedByID))
}

// InvitedByIDNotIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) InvitedByIDNotIn(invitedByID ...ID) RegistrationLogQuerySet {
	if len(invitedByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one invitedByID in InvitedByIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("invited_by_id NOT IN (?)", invitedByID))
}

// InvitedByIsNotNull is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) InvitedByIsNotNull() RegistrationLogQuerySet {
	return qs.w(qs.db.Where("invited_by IS NOT NULL"))
}

// InvitedByIsNull is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) InvitedByIsNull() RegistrationLogQuerySet {
	return qs.w(qs.db.Where("invited_by IS NULL"))
}

// LastNameEq is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) LastNameEq(lastName string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("last_name = ?", lastName))
}

// LastNameGt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) LastNameGt(lastName string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("last_name > ?", lastName))
}

// LastNameGte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) LastNameGte(lastName string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("last_name >= ?", lastName))
}

// LastNameIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) LastNameIn(lastName ...string) RegistrationLogQuerySet {
	if len(lastName) == 0 {
		qs.db.AddError(errors.New("must at least pass one lastName in LastNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("last_name IN (?)", lastName))
}

// LastNameLike is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) LastNameLike(lastName string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("last_name LIKE ?", lastName))
}

// LastNameLt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) LastNameLt(lastName string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("last_name < ?", lastName))
}

// LastNameLte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) LastNameLte(lastName string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("last_name <= ?", lastName))
}

// LastNameNe is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) LastNameNe(lastName string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("last_name != ?", lastName))
}

// LastNameNotIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) LastNameNotIn(lastName ...string) RegistrationLogQuerySet {
	if len(lastName) == 0 {
		qs.db.AddError(errors.New("must at least pass one lastName in LastNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("last_name NOT IN (?)", lastName))
}

// LastNameNotlike is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) LastNameNotlike(lastName string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("last_name NOT LIKE ?", lastName))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) Limit(limit int) RegistrationLogQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) NameEq(name string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) NameGt(name string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) NameGte(name string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) NameIn(name ...string) RegistrationLogQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) NameLike(name string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) NameLt(name string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) NameLte(name string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) NameNe(name string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) NameNotIn(name ...string) RegistrationLogQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) NameNotlike(name string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) Offset(offset int) RegistrationLogQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs RegistrationLogQuerySet) One(ret *RegistrationLog) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderAscByCreatedAt() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByEmail is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderAscByEmail() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("email ASC"))
}

// OrderAscByFirstName is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderAscByFirstName() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("first_name ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderAscByID() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByIPAddress is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderAscByIPAddress() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("ip_address ASC"))
}

// OrderAscByInvitedAt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderAscByInvitedAt() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("invited_at ASC"))
}

// OrderAscByInvitedByID is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderAscByInvitedByID() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("invited_by_id ASC"))
}

// OrderAscByLastName is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderAscByLastName() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("last_name ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderAscByName() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscBySource is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderAscBySource() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("source ASC"))
}

// OrderAscByUserID is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderAscByUserID() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("user_id ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderDescByCreatedAt() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByEmail is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderDescByEmail() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("email DESC"))
}

// OrderDescByFirstName is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderDescByFirstName() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("first_name DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderDescByID() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByIPAddress is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderDescByIPAddress() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("ip_address DESC"))
}

// OrderDescByInvitedAt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderDescByInvitedAt() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("invited_at DESC"))
}

// OrderDescByInvitedByID is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderDescByInvitedByID() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("invited_by_id DESC"))
}

// OrderDescByLastName is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderDescByLastName() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("last_name DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderDescByName() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescBySource is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderDescBySource() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("source DESC"))
}

// OrderDescByUserID is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) OrderDescByUserID() RegistrationLogQuerySet {
	return qs.w(qs.db.Order("user_id DESC"))
}

// PreloadInvitedBy is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) PreloadInvitedBy() RegistrationLogQuerySet {
	return qs.w(qs.db.Preload("InvitedBy"))
}

// PreloadUser is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) PreloadUser() RegistrationLogQuerySet {
	return qs.w(qs.db.Preload("User"))
}

// SourceEq is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) SourceEq(source string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("source = ?", source))
}

// SourceGt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) SourceGt(source string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("source > ?", source))
}

// SourceGte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) SourceGte(source string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("source >= ?", source))
}

// SourceIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) SourceIn(source ...string) RegistrationLogQuerySet {
	if len(source) == 0 {
		qs.db.AddError(errors.New("must at least pass one source in SourceIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("source IN (?)", source))
}

// SourceLike is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) SourceLike(source string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("source LIKE ?", source))
}

// SourceLt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) SourceLt(source string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("source < ?", source))
}

// SourceLte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) SourceLte(source string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("source <= ?", source))
}

// SourceNe is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) SourceNe(source string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("source != ?", source))
}

// SourceNotIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) SourceNotIn(source ...string) RegistrationLogQuerySet {
	if len(source) == 0 {
		qs.db.AddError(errors.New("must at least pass one source in SourceNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("source NOT IN (?)", source))
}

// SourceNotlike is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) SourceNotlike(source string) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("source NOT LIKE ?", source))
}

// UserIDEq is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) UserIDEq(userID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("user_id = ?", userID))
}

// UserIDGt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) UserIDGt(userID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("user_id > ?", userID))
}

// UserIDGte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) UserIDGte(userID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("user_id >= ?", userID))
}

// UserIDIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) UserIDIn(userID ...ID) RegistrationLogQuerySet {
	if len(userID) == 0 {
		qs.db.AddError(errors.New("must at least pass one userID in UserIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("user_id IN (?)", userID))
}

// UserIDLt is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) UserIDLt(userID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("user_id < ?", userID))
}

// UserIDLte is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) UserIDLte(userID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("user_id <= ?", userID))
}

// UserIDNe is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) UserIDNe(userID ID) RegistrationLogQuerySet {
	return qs.w(qs.db.Where("user_id != ?", userID))
}

// UserIDNotIn is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) UserIDNotIn(userID ...ID) RegistrationLogQuerySet {
	if len(userID) == 0 {
		qs.db.AddError(errors.New("must at least pass one userID in UserIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("user_id NOT IN (?)", userID))
}

// UserIsNotNull is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) UserIsNotNull() RegistrationLogQuerySet {
	return qs.w(qs.db.Where("user IS NOT NULL"))
}

// UserIsNull is an autogenerated method
// nolint: dupl
func (qs RegistrationLogQuerySet) UserIsNull() RegistrationLogQuerySet {
	return qs.w(qs.db.Where("user IS NULL"))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u RegistrationLogUpdater) SetCreatedAt(createdAt time.Time) RegistrationLogUpdater {
	u.fields[string(RegistrationLogDBSchema.CreatedAt)] = createdAt
	return u
}

// SetEmail is an autogenerated method
// nolint: dupl
func (u RegistrationLogUpdater) SetEmail(email string) RegistrationLogUpdater {
	u.fields[string(RegistrationLogDBSchema.Email)] = email
	return u
}

// SetFirstName is an autogenerated method
// nolint: dupl
func (u RegistrationLogUpdater) SetFirstName(firstName string) RegistrationLogUpdater {
	u.fields[string(RegistrationLogDBSchema.FirstName)] = firstName
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u RegistrationLogUpdater) SetID(ID ID) RegistrationLogUpdater {
	u.fields[string(RegistrationLogDBSchema.ID)] = ID
	return u
}

// SetIPAddress is an autogenerated method
// nolint: dupl
func (u RegistrationLogUpdater) SetIPAddress(iPAddress string) RegistrationLogUpdater {
	u.fields[string(RegistrationLogDBSchema.IPAddress)] = iPAddress
	return u
}

// SetInvitedAt is an autogenerated method
// nolint: dupl
func (u RegistrationLogUpdater) SetInvitedAt(invitedAt time.Time) RegistrationLogUpdater {
	u.fields[string(RegistrationLogDBSchema.InvitedAt)] = invitedAt
	return u
}

// SetInvitedByID is an autogenerated method
// nolint: dupl
func (u RegistrationLogUpdater) SetInvitedByID(invitedByID ID) RegistrationLogUpdater {
	u.fields[string(RegistrationLogDBSchema.InvitedByID)] = invitedByID
	return u
}

// SetLastName is an autogenerated method
// nolint: dupl
func (u RegistrationLogUpdater) SetLastName(lastName string) RegistrationLogUpdater {
	u.fields[string(RegistrationLogDBSchema.LastName)] = lastName
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u RegistrationLogUpdater) SetName(name string) RegistrationLogUpdater {
	u.fields[string(RegistrationLogDBSchema.Name)] = name
	return u
}

// SetSource is an autogenerated method
// nolint: dupl
func (u RegistrationLogUpdater) SetSource(source string) RegistrationLogUpdater {
	u.fields[string(RegistrationLogDBSchema.Source)] = source
	return u
}

// SetUserID is an autogenerated method
// nolint: dupl
func (u RegistrationLogUpdater) SetUserID(userID ID) RegistrationLogUpdater {
	u.fields[string(RegistrationLogDBSchema.UserID)] = userID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u RegistrationLogUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u RegistrationLogUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set RegistrationLogQuerySet

// ===== BEGIN of RegistrationLog modifiers

// RegistrationLogDBSchemaField describes database schema field. It requires for method 'Update'
type RegistrationLogDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f RegistrationLogDBSchemaField) String() string {
	return string(f)
}

// RegistrationLogDBSchema stores db field names of RegistrationLog
var RegistrationLogDBSchema = struct {
	ID          RegistrationLogDBSchemaField
	CreatedAt   RegistrationLogDBSchemaField
	Name        RegistrationLogDBSchemaField
	Email       RegistrationLogDBSchemaField
	FirstName   RegistrationLogDBSchemaField
	LastName    RegistrationLogDBSchemaField
	UserID      RegistrationLogDBSchemaField
	User        RegistrationLogDBSchemaField
	InvitedAt   RegistrationLogDBSchemaField
	InvitedByID RegistrationLogDBSchemaField
	InvitedBy   RegistrationLogDBSchemaField
	Source      RegistrationLogDBSchemaField
	IPAddress   RegistrationLogDBSchemaField
}{

	ID:          RegistrationLogDBSchemaField("id"),
	CreatedAt:   RegistrationLogDBSchemaField("created_at"),
	Name:        RegistrationLogDBSchemaField("name"),
	Email:       RegistrationLogDBSchemaField("email"),
	FirstName:   RegistrationLogDBSchemaField("first_name"),
	LastName:    RegistrationLogDBSchemaField("last_name"),
	UserID:      RegistrationLogDBSchemaField("user_id"),
	User:        RegistrationLogDBSchemaField("user"),
	InvitedAt:   RegistrationLogDBSchemaField("invited_at"),
	InvitedByID: RegistrationLogDBSchemaField("invited_by_id"),
	InvitedBy:   RegistrationLogDBSchemaField("invited_by"),
	Source:      RegistrationLogDBSchemaField("source"),
	IPAddress:   RegistrationLogDBSchemaField("ip_address"),
}

// Update updates RegistrationLog fields by primary key
// nolint: dupl
func (o *RegistrationLog) Update(db *gorm.DB, fields ...RegistrationLogDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":            o.ID,
		"created_at":    o.CreatedAt,
		"name":          o.Name,
		"email":         o.Email,
		"first_name":    o.FirstName,
		"last_name":     o.LastName,
		"user_id":       o.UserID,
		"user":          o.User,
		"invited_at":    o.InvitedAt,
		"invited_by_id": o.InvitedByID,
		"invited_by":    o.InvitedBy,
		"source":        o.Source,
		"ip_address":    o.IPAddress,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update RegistrationLog %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// RegistrationLogUpdater is an RegistrationLog updates manager
type RegistrationLogUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewRegistrationLogUpdater creates new RegistrationLog updater
// nolint: dupl
func NewRegistrationLogUpdater(db *gorm.DB) RegistrationLogUpdater {
	return RegistrationLogUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&RegistrationLog{}),
	}
}

// ===== END of RegistrationLog modifiers

// ===== BEGIN of query set RestoreQuerySet

// RestoreQuerySet is an queryset type for Restore
type RestoreQuerySet struct {
	db *gorm.DB
}

// NewRestoreQuerySet constructs new RestoreQuerySet
func NewRestoreQuerySet(db *gorm.DB) RestoreQuerySet {
	return RestoreQuerySet{
		db: db.Model(&Restore{}),
	}
}

func (qs RestoreQuerySet) w(db *gorm.DB) RestoreQuerySet {
	return NewRestoreQuerySet(db)
}

func (qs RestoreQuerySet) Select(fields ...RestoreDBSchemaField) RestoreQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Restore) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Restore) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) All(ret *[]Restore) error {
	return qs.db.Find(ret).Error
}

// BackupIDEq is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) BackupIDEq(backupID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("backup_id = ?", backupID))
}

// BackupIDGt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) BackupIDGt(backupID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("backup_id > ?", backupID))
}

// BackupIDGte is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) BackupIDGte(backupID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("backup_id >= ?", backupID))
}

// BackupIDIn is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) BackupIDIn(backupID ...ID) RestoreQuerySet {
	if len(backupID) == 0 {
		qs.db.AddError(errors.New("must at least pass one backupID in BackupIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("backup_id IN (?)", backupID))
}

// BackupIDLt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) BackupIDLt(backupID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("backup_id < ?", backupID))
}

// BackupIDLte is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) BackupIDLte(backupID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("backup_id <= ?", backupID))
}

// BackupIDNe is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) BackupIDNe(backupID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("backup_id != ?", backupID))
}

// BackupIDNotIn is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) BackupIDNotIn(backupID ...ID) RestoreQuerySet {
	if len(backupID) == 0 {
		qs.db.AddError(errors.New("must at least pass one backupID in BackupIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("backup_id NOT IN (?)", backupID))
}

// BackupIsNotNull is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) BackupIsNotNull() RestoreQuerySet {
	return qs.w(qs.db.Where("backup IS NOT NULL"))
}

// BackupIsNull is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) BackupIsNull() RestoreQuerySet {
	return qs.w(qs.db.Where("backup IS NULL"))
}

// ClusterIDEq is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) ClusterIDEq(clusterID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("cluster_id = ?", clusterID))
}

// ClusterIDGt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) ClusterIDGt(clusterID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("cluster_id > ?", clusterID))
}

// ClusterIDGte is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) ClusterIDGte(clusterID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("cluster_id >= ?", clusterID))
}

// ClusterIDIn is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) ClusterIDIn(clusterID ...ID) RestoreQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id IN (?)", clusterID))
}

// ClusterIDLt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) ClusterIDLt(clusterID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("cluster_id < ?", clusterID))
}

// ClusterIDLte is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) ClusterIDLte(clusterID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("cluster_id <= ?", clusterID))
}

// ClusterIDNe is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) ClusterIDNe(clusterID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("cluster_id != ?", clusterID))
}

// ClusterIDNotIn is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) ClusterIDNotIn(clusterID ...ID) RestoreQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id NOT IN (?)", clusterID))
}

// ClusterIsNotNull is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) ClusterIsNotNull() RestoreQuerySet {
	return qs.w(qs.db.Where("cluster IS NOT NULL"))
}

// ClusterIsNull is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) ClusterIsNull() RestoreQuerySet {
	return qs.w(qs.db.Where("cluster IS NULL"))
}

// Count is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) CreatedAtEq(createdAt time.Time) RestoreQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) CreatedAtGt(createdAt time.Time) RestoreQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) CreatedAtGte(createdAt time.Time) RestoreQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) CreatedAtLt(createdAt time.Time) RestoreQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) CreatedAtLte(createdAt time.Time) RestoreQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) CreatedAtNe(createdAt time.Time) RestoreQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) Delete() error {
	return qs.db.Delete(&Restore{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Restore{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Restore{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) GetUpdater() RestoreUpdater {
	return NewRestoreUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) IDEq(ID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) IDGt(ID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) IDGte(ID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) IDIn(ID ...ID) RestoreQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) IDLt(ID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) IDLte(ID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) IDNe(ID ID) RestoreQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) IDNotIn(ID ...ID) RestoreQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) Limit(limit int) RestoreQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) NameEq(name string) RestoreQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) NameGt(name string) RestoreQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) NameGte(name string) RestoreQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) NameIn(name ...string) RestoreQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) NameLike(name string) RestoreQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) NameLt(name string) RestoreQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) NameLte(name string) RestoreQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) NameNe(name string) RestoreQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) NameNotIn(name ...string) RestoreQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) NameNotlike(name string) RestoreQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) Offset(offset int) RestoreQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs RestoreQuerySet) One(ret *Restore) error {
	return qs.db.First(ret).Error
}

// OrderAscByBackupID is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) OrderAscByBackupID() RestoreQuerySet {
	return qs.w(qs.db.Order("backup_id ASC"))
}

// OrderAscByClusterID is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) OrderAscByClusterID() RestoreQuerySet {
	return qs.w(qs.db.Order("cluster_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) OrderAscByCreatedAt() RestoreQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) OrderAscByID() RestoreQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) OrderAscByName() RestoreQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) OrderAscByStatus() RestoreQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByTargets is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) OrderAscByTargets() RestoreQuerySet {
	return qs.w(qs.db.Order("targets ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) OrderAscByUpdatedAt() RestoreQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByBackupID is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) OrderDescByBackupID() RestoreQuerySet {
	return qs.w(qs.db.Order("backup_id DESC"))
}

// OrderDescByClusterID is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) OrderDescByClusterID() RestoreQuerySet {
	return qs.w(qs.db.Order("cluster_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) OrderDescByCreatedAt() RestoreQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) OrderDescByID() RestoreQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) OrderDescByName() RestoreQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) OrderDescByStatus() RestoreQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByTargets is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) OrderDescByTargets() RestoreQuerySet {
	return qs.w(qs.db.Order("targets DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) OrderDescByUpdatedAt() RestoreQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadBackup is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) PreloadBackup() RestoreQuerySet {
	return qs.w(qs.db.Preload("Backup"))
}

// PreloadCluster is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) PreloadCluster() RestoreQuerySet {
	return qs.w(qs.db.Preload("Cluster"))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) StatusEq(status RestoreStatus) RestoreQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) StatusGt(status RestoreStatus) RestoreQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) StatusGte(status RestoreStatus) RestoreQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) StatusIn(status ...RestoreStatus) RestoreQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) StatusLike(status RestoreStatus) RestoreQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) StatusLt(status RestoreStatus) RestoreQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) StatusLte(status RestoreStatus) RestoreQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) StatusNe(status RestoreStatus) RestoreQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) StatusNotIn(status ...RestoreStatus) RestoreQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) StatusNotlike(status RestoreStatus) RestoreQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// TargetsEq is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) TargetsEq(targets string) RestoreQuerySet {
	return qs.w(qs.db.Where("targets = ?", targets))
}

// TargetsGt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) TargetsGt(targets string) RestoreQuerySet {
	return qs.w(qs.db.Where("targets > ?", targets))
}

// TargetsGte is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) TargetsGte(targets string) RestoreQuerySet {
	return qs.w(qs.db.Where("targets >= ?", targets))
}

// TargetsIn is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) TargetsIn(targets ...string) RestoreQuerySet {
	if len(targets) == 0 {
		qs.db.AddError(errors.New("must at least pass one targets in TargetsIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("targets IN (?)", targets))
}

// TargetsLike is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) TargetsLike(targets string) RestoreQuerySet {
	return qs.w(qs.db.Where("targets LIKE ?", targets))
}

// TargetsLt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) TargetsLt(targets string) RestoreQuerySet {
	return qs.w(qs.db.Where("targets < ?", targets))
}

// TargetsLte is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) TargetsLte(targets string) RestoreQuerySet {
	return qs.w(qs.db.Where("targets <= ?", targets))
}

// TargetsNe is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) TargetsNe(targets string) RestoreQuerySet {
	return qs.w(qs.db.Where("targets != ?", targets))
}

// TargetsNotIn is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) TargetsNotIn(targets ...string) RestoreQuerySet {
	if len(targets) == 0 {
		qs.db.AddError(errors.New("must at least pass one targets in TargetsNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("targets NOT IN (?)", targets))
}

// TargetsNotlike is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) TargetsNotlike(targets string) RestoreQuerySet {
	return qs.w(qs.db.Where("targets NOT LIKE ?", targets))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) UpdatedAtEq(updatedAt time.Time) RestoreQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) UpdatedAtGt(updatedAt time.Time) RestoreQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) UpdatedAtGte(updatedAt time.Time) RestoreQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) UpdatedAtIsNotNull() RestoreQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) UpdatedAtIsNull() RestoreQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) UpdatedAtLt(updatedAt time.Time) RestoreQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) UpdatedAtLte(updatedAt time.Time) RestoreQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs RestoreQuerySet) UpdatedAtNe(updatedAt time.Time) RestoreQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetBackupID is an autogenerated method
// nolint: dupl
func (u RestoreUpdater) SetBackupID(backupID ID) RestoreUpdater {
	u.fields[string(RestoreDBSchema.BackupID)] = backupID
	return u
}

// SetClusterID is an autogenerated method
// nolint: dupl
func (u RestoreUpdater) SetClusterID(clusterID ID) RestoreUpdater {
	u.fields[string(RestoreDBSchema.ClusterID)] = clusterID
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u RestoreUpdater) SetCreatedAt(createdAt time.Time) RestoreUpdater {
	u.fields[string(RestoreDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u RestoreUpdater) SetID(ID ID) RestoreUpdater {
	u.fields[string(RestoreDBSchema.ID)] = ID
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u RestoreUpdater) SetName(name string) RestoreUpdater {
	u.fields[string(RestoreDBSchema.Name)] = name
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u RestoreUpdater) SetStatus(status RestoreStatus) RestoreUpdater {
	u.fields[string(RestoreDBSchema.Status)] = status
	return u
}

// SetTargets is an autogenerated method
// nolint: dupl
func (u RestoreUpdater) SetTargets(targets string) RestoreUpdater {
	u.fields[string(RestoreDBSchema.Targets)] = targets
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u RestoreUpdater) SetUpdatedAt(updatedAt *time.Time) RestoreUpdater {
	u.fields[string(RestoreDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u RestoreUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u RestoreUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set RestoreQuerySet

// ===== BEGIN of Restore modifiers

// RestoreDBSchemaField describes database schema field. It requires for method 'Update'
type RestoreDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f RestoreDBSchemaField) String() string {
	return string(f)
}

// RestoreDBSchema stores db field names of Restore
var RestoreDBSchema = struct {
	ID        RestoreDBSchemaField
	CreatedAt RestoreDBSchemaField
	UpdatedAt RestoreDBSchemaField
	Name      RestoreDBSchemaField
	ClusterID RestoreDBSchemaField
	Cluster   RestoreDBSchemaField
	Targets   RestoreDBSchemaField
	BackupID  RestoreDBSchemaField
	Backup    RestoreDBSchemaField
	Status    RestoreDBSchemaField
}{

	ID:        RestoreDBSchemaField("id"),
	CreatedAt: RestoreDBSchemaField("created_at"),
	UpdatedAt: RestoreDBSchemaField("updated_at"),
	Name:      RestoreDBSchemaField("name"),
	ClusterID: RestoreDBSchemaField("cluster_id"),
	Cluster:   RestoreDBSchemaField("cluster"),
	Targets:   RestoreDBSchemaField("targets"),
	BackupID:  RestoreDBSchemaField("backup_id"),
	Backup:    RestoreDBSchemaField("backup"),
	Status:    RestoreDBSchemaField("status"),
}

// Update updates Restore fields by primary key
// nolint: dupl
func (o *Restore) Update(db *gorm.DB, fields ...RestoreDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"updated_at": o.UpdatedAt,
		"name":       o.Name,
		"cluster_id": o.ClusterID,
		"cluster":    o.Cluster,
		"targets":    o.Targets,
		"backup_id":  o.BackupID,
		"backup":     o.Backup,
		"status":     o.Status,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Restore %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// RestoreUpdater is an Restore updates manager
type RestoreUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewRestoreUpdater creates new Restore updater
// nolint: dupl
func NewRestoreUpdater(db *gorm.DB) RestoreUpdater {
	return RestoreUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Restore{}),
	}
}

// ===== END of Restore modifiers

// ===== BEGIN of query set RestoreTrackingQuerySet

// RestoreTrackingQuerySet is an queryset type for RestoreTracking
type RestoreTrackingQuerySet struct {
	db *gorm.DB
}

// NewRestoreTrackingQuerySet constructs new RestoreTrackingQuerySet
func NewRestoreTrackingQuerySet(db *gorm.DB) RestoreTrackingQuerySet {
	return RestoreTrackingQuerySet{
		db: db.Model(&RestoreTracking{}),
	}
}

func (qs RestoreTrackingQuerySet) w(db *gorm.DB) RestoreTrackingQuerySet {
	return NewRestoreTrackingQuerySet(db)
}

func (qs RestoreTrackingQuerySet) Select(fields ...RestoreTrackingDBSchemaField) RestoreTrackingQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *RestoreTracking) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *RestoreTracking) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) All(ret *[]RestoreTracking) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) CreatedAtEq(createdAt time.Time) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) CreatedAtGt(createdAt time.Time) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) CreatedAtGte(createdAt time.Time) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) CreatedAtLt(createdAt time.Time) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) CreatedAtLte(createdAt time.Time) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) CreatedAtNe(createdAt time.Time) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) Delete() error {
	return qs.db.Delete(&RestoreTracking{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&RestoreTracking{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&RestoreTracking{})
	return db.RowsAffected, db.Error
}

// DescriptionEq is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) DescriptionEq(description string) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("description = ?", description))
}

// DescriptionGt is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) DescriptionGt(description string) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("description > ?", description))
}

// DescriptionGte is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) DescriptionGte(description string) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("description >= ?", description))
}

// DescriptionIn is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) DescriptionIn(description ...string) RestoreTrackingQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description IN (?)", description))
}

// DescriptionLike is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) DescriptionLike(description string) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("description LIKE ?", description))
}

// DescriptionLt is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) DescriptionLt(description string) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("description < ?", description))
}

// DescriptionLte is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) DescriptionLte(description string) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("description <= ?", description))
}

// DescriptionNe is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) DescriptionNe(description string) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("description != ?", description))
}

// DescriptionNotIn is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) DescriptionNotIn(description ...string) RestoreTrackingQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description NOT IN (?)", description))
}

// DescriptionNotlike is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) DescriptionNotlike(description string) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("description NOT LIKE ?", description))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) GetUpdater() RestoreTrackingUpdater {
	return NewRestoreTrackingUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) IDEq(ID ID) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) IDGt(ID ID) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) IDGte(ID ID) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) IDIn(ID ...ID) RestoreTrackingQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) IDLt(ID ID) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) IDLte(ID ID) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) IDNe(ID ID) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) IDNotIn(ID ...ID) RestoreTrackingQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) Limit(limit int) RestoreTrackingQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) Offset(offset int) RestoreTrackingQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs RestoreTrackingQuerySet) One(ret *RestoreTracking) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) OrderAscByCreatedAt() RestoreTrackingQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDescription is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) OrderAscByDescription() RestoreTrackingQuerySet {
	return qs.w(qs.db.Order("description ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) OrderAscByID() RestoreTrackingQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByRestoreID is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) OrderAscByRestoreID() RestoreTrackingQuerySet {
	return qs.w(qs.db.Order("restore_id ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) OrderAscByStatus() RestoreTrackingQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) OrderDescByCreatedAt() RestoreTrackingQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDescription is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) OrderDescByDescription() RestoreTrackingQuerySet {
	return qs.w(qs.db.Order("description DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) OrderDescByID() RestoreTrackingQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByRestoreID is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) OrderDescByRestoreID() RestoreTrackingQuerySet {
	return qs.w(qs.db.Order("restore_id DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) OrderDescByStatus() RestoreTrackingQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// PreloadRestore is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) PreloadRestore() RestoreTrackingQuerySet {
	return qs.w(qs.db.Preload("Restore"))
}

// RestoreIDEq is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) RestoreIDEq(restoreID ID) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("restore_id = ?", restoreID))
}

// RestoreIDGt is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) RestoreIDGt(restoreID ID) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("restore_id > ?", restoreID))
}

// RestoreIDGte is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) RestoreIDGte(restoreID ID) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("restore_id >= ?", restoreID))
}

// RestoreIDIn is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) RestoreIDIn(restoreID ...ID) RestoreTrackingQuerySet {
	if len(restoreID) == 0 {
		qs.db.AddError(errors.New("must at least pass one restoreID in RestoreIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("restore_id IN (?)", restoreID))
}

// RestoreIDLt is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) RestoreIDLt(restoreID ID) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("restore_id < ?", restoreID))
}

// RestoreIDLte is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) RestoreIDLte(restoreID ID) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("restore_id <= ?", restoreID))
}

// RestoreIDNe is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) RestoreIDNe(restoreID ID) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("restore_id != ?", restoreID))
}

// RestoreIDNotIn is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) RestoreIDNotIn(restoreID ...ID) RestoreTrackingQuerySet {
	if len(restoreID) == 0 {
		qs.db.AddError(errors.New("must at least pass one restoreID in RestoreIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("restore_id NOT IN (?)", restoreID))
}

// RestoreIsNotNull is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) RestoreIsNotNull() RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("restore IS NOT NULL"))
}

// RestoreIsNull is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) RestoreIsNull() RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("restore IS NULL"))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) StatusEq(status RestoreStatus) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) StatusGt(status RestoreStatus) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) StatusGte(status RestoreStatus) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) StatusIn(status ...RestoreStatus) RestoreTrackingQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) StatusLike(status RestoreStatus) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) StatusLt(status RestoreStatus) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) StatusLte(status RestoreStatus) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) StatusNe(status RestoreStatus) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) StatusNotIn(status ...RestoreStatus) RestoreTrackingQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs RestoreTrackingQuerySet) StatusNotlike(status RestoreStatus) RestoreTrackingQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u RestoreTrackingUpdater) SetCreatedAt(createdAt time.Time) RestoreTrackingUpdater {
	u.fields[string(RestoreTrackingDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDescription is an autogenerated method
// nolint: dupl
func (u RestoreTrackingUpdater) SetDescription(description string) RestoreTrackingUpdater {
	u.fields[string(RestoreTrackingDBSchema.Description)] = description
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u RestoreTrackingUpdater) SetID(ID ID) RestoreTrackingUpdater {
	u.fields[string(RestoreTrackingDBSchema.ID)] = ID
	return u
}

// SetRestoreID is an autogenerated method
// nolint: dupl
func (u RestoreTrackingUpdater) SetRestoreID(restoreID ID) RestoreTrackingUpdater {
	u.fields[string(RestoreTrackingDBSchema.RestoreID)] = restoreID
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u RestoreTrackingUpdater) SetStatus(status RestoreStatus) RestoreTrackingUpdater {
	u.fields[string(RestoreTrackingDBSchema.Status)] = status
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u RestoreTrackingUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u RestoreTrackingUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set RestoreTrackingQuerySet

// ===== BEGIN of RestoreTracking modifiers

// RestoreTrackingDBSchemaField describes database schema field. It requires for method 'Update'
type RestoreTrackingDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f RestoreTrackingDBSchemaField) String() string {
	return string(f)
}

// RestoreTrackingDBSchema stores db field names of RestoreTracking
var RestoreTrackingDBSchema = struct {
	ID          RestoreTrackingDBSchemaField
	CreatedAt   RestoreTrackingDBSchemaField
	RestoreID   RestoreTrackingDBSchemaField
	Restore     RestoreTrackingDBSchemaField
	Status      RestoreTrackingDBSchemaField
	Description RestoreTrackingDBSchemaField
}{

	ID:          RestoreTrackingDBSchemaField("id"),
	CreatedAt:   RestoreTrackingDBSchemaField("created_at"),
	RestoreID:   RestoreTrackingDBSchemaField("restore_id"),
	Restore:     RestoreTrackingDBSchemaField("restore"),
	Status:      RestoreTrackingDBSchemaField("status"),
	Description: RestoreTrackingDBSchemaField("description"),
}

// Update updates RestoreTracking fields by primary key
// nolint: dupl
func (o *RestoreTracking) Update(db *gorm.DB, fields ...RestoreTrackingDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":          o.ID,
		"created_at":  o.CreatedAt,
		"restore_id":  o.RestoreID,
		"restore":     o.Restore,
		"status":      o.Status,
		"description": o.Description,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update RestoreTracking %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// RestoreTrackingUpdater is an RestoreTracking updates manager
type RestoreTrackingUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewRestoreTrackingUpdater creates new RestoreTracking updater
// nolint: dupl
func NewRestoreTrackingUpdater(db *gorm.DB) RestoreTrackingUpdater {
	return RestoreTrackingUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&RestoreTracking{}),
	}
}

// ===== END of RestoreTracking modifiers

// ===== BEGIN of query set RoleQuerySet

// RoleQuerySet is an queryset type for Role
type RoleQuerySet struct {
	db *gorm.DB
}

// NewRoleQuerySet constructs new RoleQuerySet
func NewRoleQuerySet(db *gorm.DB) RoleQuerySet {
	return RoleQuerySet{
		db: db.Model(&Role{}),
	}
}

func (qs RoleQuerySet) w(db *gorm.DB) RoleQuerySet {
	return NewRoleQuerySet(db)
}

func (qs RoleQuerySet) Select(fields ...RoleDBSchemaField) RoleQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Role) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Role) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) All(ret *[]Role) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) CreatedAtEq(createdAt time.Time) RoleQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) CreatedAtGt(createdAt time.Time) RoleQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) CreatedAtGte(createdAt time.Time) RoleQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) CreatedAtLt(createdAt time.Time) RoleQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) CreatedAtLte(createdAt time.Time) RoleQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) CreatedAtNe(createdAt time.Time) RoleQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) Delete() error {
	return qs.db.Delete(&Role{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Role{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Role{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) GetUpdater() RoleUpdater {
	return NewRoleUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) IDEq(ID ID) RoleQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) IDGt(ID ID) RoleQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) IDGte(ID ID) RoleQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) IDIn(ID ...ID) RoleQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) IDLt(ID ID) RoleQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) IDLte(ID ID) RoleQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) IDNe(ID ID) RoleQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) IDNotIn(ID ...ID) RoleQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) Limit(limit int) RoleQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) NameEq(name string) RoleQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) NameGt(name string) RoleQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) NameGte(name string) RoleQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) NameIn(name ...string) RoleQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) NameLike(name string) RoleQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) NameLt(name string) RoleQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) NameLte(name string) RoleQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) NameNe(name string) RoleQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) NameNotIn(name ...string) RoleQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) NameNotlike(name string) RoleQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) Offset(offset int) RoleQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs RoleQuerySet) One(ret *Role) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) OrderAscByCreatedAt() RoleQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) OrderAscByID() RoleQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) OrderAscByName() RoleQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) OrderAscByTenantID() RoleQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) OrderAscByUpdatedAt() RoleQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) OrderDescByCreatedAt() RoleQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) OrderDescByID() RoleQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) OrderDescByName() RoleQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) OrderDescByTenantID() RoleQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) OrderDescByUpdatedAt() RoleQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadPrivileges is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) PreloadPrivileges() RoleQuerySet {
	return qs.w(qs.db.Preload("Privileges"))
}

// PreloadTenant is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) PreloadTenant() RoleQuerySet {
	return qs.w(qs.db.Preload("Tenant"))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) TenantIDEq(tenantID ID) RoleQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) TenantIDGt(tenantID ID) RoleQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) TenantIDGte(tenantID ID) RoleQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) TenantIDIn(tenantID ...ID) RoleQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) TenantIDLt(tenantID ID) RoleQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) TenantIDLte(tenantID ID) RoleQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) TenantIDNe(tenantID ID) RoleQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) TenantIDNotIn(tenantID ...ID) RoleQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// TenantIsNotNull is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) TenantIsNotNull() RoleQuerySet {
	return qs.w(qs.db.Where("tenant IS NOT NULL"))
}

// TenantIsNull is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) TenantIsNull() RoleQuerySet {
	return qs.w(qs.db.Where("tenant IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) UpdatedAtEq(updatedAt time.Time) RoleQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) UpdatedAtGt(updatedAt time.Time) RoleQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) UpdatedAtGte(updatedAt time.Time) RoleQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) UpdatedAtIsNotNull() RoleQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) UpdatedAtIsNull() RoleQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) UpdatedAtLt(updatedAt time.Time) RoleQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) UpdatedAtLte(updatedAt time.Time) RoleQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs RoleQuerySet) UpdatedAtNe(updatedAt time.Time) RoleQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u RoleUpdater) SetCreatedAt(createdAt time.Time) RoleUpdater {
	u.fields[string(RoleDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u RoleUpdater) SetID(ID ID) RoleUpdater {
	u.fields[string(RoleDBSchema.ID)] = ID
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u RoleUpdater) SetName(name string) RoleUpdater {
	u.fields[string(RoleDBSchema.Name)] = name
	return u
}

// SetPrivileges is an autogenerated method
// nolint: dupl
func (u RoleUpdater) SetPrivileges(privileges Privileges) RoleUpdater {
	u.fields[string(RoleDBSchema.Privileges)] = privileges
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u RoleUpdater) SetTenantID(tenantID ID) RoleUpdater {
	u.fields[string(RoleDBSchema.TenantID)] = tenantID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u RoleUpdater) SetUpdatedAt(updatedAt *time.Time) RoleUpdater {
	u.fields[string(RoleDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u RoleUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u RoleUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set RoleQuerySet

// ===== BEGIN of Role modifiers

// RoleDBSchemaField describes database schema field. It requires for method 'Update'
type RoleDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f RoleDBSchemaField) String() string {
	return string(f)
}

// RoleDBSchema stores db field names of Role
var RoleDBSchema = struct {
	ID         RoleDBSchemaField
	CreatedAt  RoleDBSchemaField
	UpdatedAt  RoleDBSchemaField
	TenantID   RoleDBSchemaField
	Tenant     RoleDBSchemaField
	Name       RoleDBSchemaField
	Privileges RoleDBSchemaField
}{

	ID:         RoleDBSchemaField("id"),
	CreatedAt:  RoleDBSchemaField("created_at"),
	UpdatedAt:  RoleDBSchemaField("updated_at"),
	TenantID:   RoleDBSchemaField("tenant_id"),
	Tenant:     RoleDBSchemaField("tenant"),
	Name:       RoleDBSchemaField("name"),
	Privileges: RoleDBSchemaField("privileges"),
}

// Update updates Role fields by primary key
// nolint: dupl
func (o *Role) Update(db *gorm.DB, fields ...RoleDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"updated_at": o.UpdatedAt,
		"tenant_id":  o.TenantID,
		"tenant":     o.Tenant,
		"name":       o.Name,
		"privileges": o.Privileges,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Role %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// RoleUpdater is an Role updates manager
type RoleUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewRoleUpdater creates new Role updater
// nolint: dupl
func NewRoleUpdater(db *gorm.DB) RoleUpdater {
	return RoleUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Role{}),
	}
}

// ===== END of Role modifiers

// ===== BEGIN of query set ScaleOperationTrackingQuerySet

// ScaleOperationTrackingQuerySet is an queryset type for ScaleOperationTracking
type ScaleOperationTrackingQuerySet struct {
	db *gorm.DB
}

// NewScaleOperationTrackingQuerySet constructs new ScaleOperationTrackingQuerySet
func NewScaleOperationTrackingQuerySet(db *gorm.DB) ScaleOperationTrackingQuerySet {
	return ScaleOperationTrackingQuerySet{
		db: db.Model(&ScaleOperationTracking{}),
	}
}

func (qs ScaleOperationTrackingQuerySet) w(db *gorm.DB) ScaleOperationTrackingQuerySet {
	return NewScaleOperationTrackingQuerySet(db)
}

func (qs ScaleOperationTrackingQuerySet) Select(fields ...ScaleOperationTrackingDBSchemaField) ScaleOperationTrackingQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *ScaleOperationTracking) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *ScaleOperationTracking) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) All(ret *[]ScaleOperationTracking) error {
	return qs.db.Find(ret).Error
}

// ClusterOperationIDEq is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIDEq(clusterOperationID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_operation_id = ?", clusterOperationID))
}

// ClusterOperationIDGt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIDGt(clusterOperationID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_operation_id > ?", clusterOperationID))
}

// ClusterOperationIDGte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIDGte(clusterOperationID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_operation_id >= ?", clusterOperationID))
}

// ClusterOperationIDIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIDIn(clusterOperationID ...ID) ScaleOperationTrackingQuerySet {
	if len(clusterOperationID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterOperationID in ClusterOperationIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_operation_id IN (?)", clusterOperationID))
}

// ClusterOperationIDLt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIDLt(clusterOperationID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_operation_id < ?", clusterOperationID))
}

// ClusterOperationIDLte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIDLte(clusterOperationID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_operation_id <= ?", clusterOperationID))
}

// ClusterOperationIDNe is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIDNe(clusterOperationID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_operation_id != ?", clusterOperationID))
}

// ClusterOperationIDNotIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIDNotIn(clusterOperationID ...ID) ScaleOperationTrackingQuerySet {
	if len(clusterOperationID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterOperationID in ClusterOperationIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_operation_id NOT IN (?)", clusterOperationID))
}

// ClusterOperationIsNotNull is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIsNotNull() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_operation IS NOT NULL"))
}

// ClusterOperationIsNull is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIsNull() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_operation IS NULL"))
}

// ComponentIDEq is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ComponentIDEq(componentID uint64) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("component_id = ?", componentID))
}

// ComponentIDGt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ComponentIDGt(componentID uint64) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("component_id > ?", componentID))
}

// ComponentIDGte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ComponentIDGte(componentID uint64) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("component_id >= ?", componentID))
}

// ComponentIDIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ComponentIDIn(componentID ...uint64) ScaleOperationTrackingQuerySet {
	if len(componentID) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentID in ComponentIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_id IN (?)", componentID))
}

// ComponentIDLt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ComponentIDLt(componentID uint64) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("component_id < ?", componentID))
}

// ComponentIDLte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ComponentIDLte(componentID uint64) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("component_id <= ?", componentID))
}

// ComponentIDNe is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ComponentIDNe(componentID uint64) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("component_id != ?", componentID))
}

// ComponentIDNotIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ComponentIDNotIn(componentID ...uint64) ScaleOperationTrackingQuerySet {
	if len(componentID) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentID in ComponentIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_id NOT IN (?)", componentID))
}

// ComponentIsNotNull is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ComponentIsNotNull() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("component IS NOT NULL"))
}

// ComponentIsNull is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ComponentIsNull() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("component IS NULL"))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) CreatedAtEq(createdAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) CreatedAtGt(createdAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) CreatedAtGte(createdAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) CreatedAtLt(createdAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) CreatedAtLte(createdAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) CreatedAtNe(createdAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) Delete() error {
	return qs.db.Delete(&ScaleOperationTracking{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&ScaleOperationTracking{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&ScaleOperationTracking{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) GetUpdater() ScaleOperationTrackingUpdater {
	return NewScaleOperationTrackingUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) IDEq(ID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) IDGt(ID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) IDGte(ID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) IDIn(ID ...ID) ScaleOperationTrackingQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) IDLt(ID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) IDLte(ID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) IDNe(ID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) IDNotIn(ID ...ID) ScaleOperationTrackingQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) Limit(limit int) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) Offset(offset int) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ScaleOperationTrackingQuerySet) One(ret *ScaleOperationTracking) error {
	return qs.db.First(ret).Error
}

// OrderAscByClusterOperationID is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderAscByClusterOperationID() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("cluster_operation_id ASC"))
}

// OrderAscByComponentID is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderAscByComponentID() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("component_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderAscByCreatedAt() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderAscByID() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByReplicas is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderAscByReplicas() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("replicas ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderAscByStatus() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderAscByUpdatedAt() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByClusterOperationID is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderDescByClusterOperationID() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("cluster_operation_id DESC"))
}

// OrderDescByComponentID is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderDescByComponentID() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("component_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderDescByCreatedAt() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderDescByID() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByReplicas is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderDescByReplicas() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("replicas DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderDescByStatus() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderDescByUpdatedAt() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadClusterOperation is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) PreloadClusterOperation() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Preload("ClusterOperation"))
}

// PreloadComponent is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) PreloadComponent() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Preload("Component"))
}

// ReplicasEq is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ReplicasEq(replicas uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("replicas = ?", replicas))
}

// ReplicasGt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ReplicasGt(replicas uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("replicas > ?", replicas))
}

// ReplicasGte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ReplicasGte(replicas uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("replicas >= ?", replicas))
}

// ReplicasIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ReplicasIn(replicas ...uint32) ScaleOperationTrackingQuerySet {
	if len(replicas) == 0 {
		qs.db.AddError(errors.New("must at least pass one replicas in ReplicasIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("replicas IN (?)", replicas))
}

// ReplicasLt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ReplicasLt(replicas uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("replicas < ?", replicas))
}

// ReplicasLte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ReplicasLte(replicas uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("replicas <= ?", replicas))
}

// ReplicasNe is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ReplicasNe(replicas uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("replicas != ?", replicas))
}

// ReplicasNotIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ReplicasNotIn(replicas ...uint32) ScaleOperationTrackingQuerySet {
	if len(replicas) == 0 {
		qs.db.AddError(errors.New("must at least pass one replicas in ReplicasNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("replicas NOT IN (?)", replicas))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusEq(status ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusGt(status ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusGte(status ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusIn(status ...ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusLike(status ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusLt(status ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusLte(status ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusNe(status ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusNotIn(status ...ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusNotlike(status ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) UpdatedAtEq(updatedAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) UpdatedAtGt(updatedAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) UpdatedAtGte(updatedAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) UpdatedAtIsNotNull() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) UpdatedAtIsNull() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) UpdatedAtLt(updatedAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) UpdatedAtLte(updatedAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) UpdatedAtNe(updatedAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetClusterOperationID is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) SetClusterOperationID(clusterOperationID ID) ScaleOperationTrackingUpdater {
	u.fields[string(ScaleOperationTrackingDBSchema.ClusterOperationID)] = clusterOperationID
	return u
}

// SetComponentID is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) SetComponentID(componentID uint64) ScaleOperationTrackingUpdater {
	u.fields[string(ScaleOperationTrackingDBSchema.ComponentID)] = componentID
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) SetCreatedAt(createdAt time.Time) ScaleOperationTrackingUpdater {
	u.fields[string(ScaleOperationTrackingDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) SetID(ID ID) ScaleOperationTrackingUpdater {
	u.fields[string(ScaleOperationTrackingDBSchema.ID)] = ID
	return u
}

// SetReplicas is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) SetReplicas(replicas uint32) ScaleOperationTrackingUpdater {
	u.fields[string(ScaleOperationTrackingDBSchema.Replicas)] = replicas
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) SetStatus(status ScaleOperationTrackingStatus) ScaleOperationTrackingUpdater {
	u.fields[string(ScaleOperationTrackingDBSchema.Status)] = status
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) SetUpdatedAt(updatedAt *time.Time) ScaleOperationTrackingUpdater {
	u.fields[string(ScaleOperationTrackingDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ScaleOperationTrackingQuerySet

// ===== BEGIN of ScaleOperationTracking modifiers

// ScaleOperationTrackingDBSchemaField describes database schema field. It requires for method 'Update'
type ScaleOperationTrackingDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ScaleOperationTrackingDBSchemaField) String() string {
	return string(f)
}

// ScaleOperationTrackingDBSchema stores db field names of ScaleOperationTracking
var ScaleOperationTrackingDBSchema = struct {
	ID                 ScaleOperationTrackingDBSchemaField
	CreatedAt          ScaleOperationTrackingDBSchemaField
	UpdatedAt          ScaleOperationTrackingDBSchemaField
	ComponentID        ScaleOperationTrackingDBSchemaField
	Component          ScaleOperationTrackingDBSchemaField
	ClusterOperationID ScaleOperationTrackingDBSchemaField
	ClusterOperation   ScaleOperationTrackingDBSchemaField
	Status             ScaleOperationTrackingDBSchemaField
	Replicas           ScaleOperationTrackingDBSchemaField
}{

	ID:                 ScaleOperationTrackingDBSchemaField("id"),
	CreatedAt:          ScaleOperationTrackingDBSchemaField("created_at"),
	UpdatedAt:          ScaleOperationTrackingDBSchemaField("updated_at"),
	ComponentID:        ScaleOperationTrackingDBSchemaField("component_id"),
	Component:          ScaleOperationTrackingDBSchemaField("component"),
	ClusterOperationID: ScaleOperationTrackingDBSchemaField("cluster_operation_id"),
	ClusterOperation:   ScaleOperationTrackingDBSchemaField("cluster_operation"),
	Status:             ScaleOperationTrackingDBSchemaField("status"),
	Replicas:           ScaleOperationTrackingDBSchemaField("replicas"),
}

// Update updates ScaleOperationTracking fields by primary key
// nolint: dupl
func (o *ScaleOperationTracking) Update(db *gorm.DB, fields ...ScaleOperationTrackingDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                   o.ID,
		"created_at":           o.CreatedAt,
		"updated_at":           o.UpdatedAt,
		"component_id":         o.ComponentID,
		"component":            o.Component,
		"cluster_operation_id": o.ClusterOperationID,
		"cluster_operation":    o.ClusterOperation,
		"status":               o.Status,
		"replicas":             o.Replicas,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update ScaleOperationTracking %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ScaleOperationTrackingUpdater is an ScaleOperationTracking updates manager
type ScaleOperationTrackingUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewScaleOperationTrackingUpdater creates new ScaleOperationTracking updater
// nolint: dupl
func NewScaleOperationTrackingUpdater(db *gorm.DB) ScaleOperationTrackingUpdater {
	return ScaleOperationTrackingUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&ScaleOperationTracking{}),
	}
}

// ===== END of ScaleOperationTracking modifiers

// ===== BEGIN of query set ShootQuerySet

// ShootQuerySet is an queryset type for Shoot
type ShootQuerySet struct {
	db *gorm.DB
}

// NewShootQuerySet constructs new ShootQuerySet
func NewShootQuerySet(db *gorm.DB) ShootQuerySet {
	return ShootQuerySet{
		db: db.Model(&Shoot{}),
	}
}

func (qs ShootQuerySet) w(db *gorm.DB) ShootQuerySet {
	return NewShootQuerySet(db)
}

func (qs ShootQuerySet) Select(fields ...ShootDBSchemaField) ShootQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Shoot) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Shoot) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) All(ret *[]Shoot) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) CreatedAtEq(createdAt time.Time) ShootQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) CreatedAtGt(createdAt time.Time) ShootQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) CreatedAtGte(createdAt time.Time) ShootQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) CreatedAtLt(createdAt time.Time) ShootQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) CreatedAtLte(createdAt time.Time) ShootQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) CreatedAtNe(createdAt time.Time) ShootQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) Delete() error {
	return qs.db.Delete(&Shoot{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Shoot{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Shoot{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) GetUpdater() ShootUpdater {
	return NewShootUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) IDEq(ID ID) ShootQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) IDGt(ID ID) ShootQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) IDGte(ID ID) ShootQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) IDIn(ID ...ID) ShootQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) IDLt(ID ID) ShootQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) IDLte(ID ID) ShootQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) IDNe(ID ID) ShootQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) IDNotIn(ID ...ID) ShootQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) Limit(limit int) ShootQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) NameEq(name string) ShootQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) NameGt(name string) ShootQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) NameGte(name string) ShootQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) NameIn(name ...string) ShootQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) NameLike(name string) ShootQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) NameLt(name string) ShootQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) NameLte(name string) ShootQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) NameNe(name string) ShootQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) NameNotIn(name ...string) ShootQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) NameNotlike(name string) ShootQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) Offset(offset int) ShootQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ShootQuerySet) One(ret *Shoot) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) OrderAscByCreatedAt() ShootQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) OrderAscByID() ShootQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) OrderAscByName() ShootQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByPhzID is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) OrderAscByPhzID() ShootQuerySet {
	return qs.w(qs.db.Order("phz_id ASC"))
}

// OrderAscByProjectID is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) OrderAscByProjectID() ShootQuerySet {
	return qs.w(qs.db.Order("project_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) OrderAscByUpdatedAt() ShootQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVpcID is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) OrderAscByVpcID() ShootQuerySet {
	return qs.w(qs.db.Order("vpc_id ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) OrderDescByCreatedAt() ShootQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) OrderDescByID() ShootQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) OrderDescByName() ShootQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByPhzID is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) OrderDescByPhzID() ShootQuerySet {
	return qs.w(qs.db.Order("phz_id DESC"))
}

// OrderDescByProjectID is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) OrderDescByProjectID() ShootQuerySet {
	return qs.w(qs.db.Order("project_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) OrderDescByUpdatedAt() ShootQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVpcID is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) OrderDescByVpcID() ShootQuerySet {
	return qs.w(qs.db.Order("vpc_id DESC"))
}

// PhzIDEq is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) PhzIDEq(phzID string) ShootQuerySet {
	return qs.w(qs.db.Where("phz_id = ?", phzID))
}

// PhzIDGt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) PhzIDGt(phzID string) ShootQuerySet {
	return qs.w(qs.db.Where("phz_id > ?", phzID))
}

// PhzIDGte is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) PhzIDGte(phzID string) ShootQuerySet {
	return qs.w(qs.db.Where("phz_id >= ?", phzID))
}

// PhzIDIn is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) PhzIDIn(phzID ...string) ShootQuerySet {
	if len(phzID) == 0 {
		qs.db.AddError(errors.New("must at least pass one phzID in PhzIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("phz_id IN (?)", phzID))
}

// PhzIDLike is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) PhzIDLike(phzID string) ShootQuerySet {
	return qs.w(qs.db.Where("phz_id LIKE ?", phzID))
}

// PhzIDLt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) PhzIDLt(phzID string) ShootQuerySet {
	return qs.w(qs.db.Where("phz_id < ?", phzID))
}

// PhzIDLte is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) PhzIDLte(phzID string) ShootQuerySet {
	return qs.w(qs.db.Where("phz_id <= ?", phzID))
}

// PhzIDNe is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) PhzIDNe(phzID string) ShootQuerySet {
	return qs.w(qs.db.Where("phz_id != ?", phzID))
}

// PhzIDNotIn is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) PhzIDNotIn(phzID ...string) ShootQuerySet {
	if len(phzID) == 0 {
		qs.db.AddError(errors.New("must at least pass one phzID in PhzIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("phz_id NOT IN (?)", phzID))
}

// PhzIDNotlike is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) PhzIDNotlike(phzID string) ShootQuerySet {
	return qs.w(qs.db.Where("phz_id NOT LIKE ?", phzID))
}

// PreloadProject is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) PreloadProject() ShootQuerySet {
	return qs.w(qs.db.Preload("Project"))
}

// ProjectIDEq is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) ProjectIDEq(projectID ID) ShootQuerySet {
	return qs.w(qs.db.Where("project_id = ?", projectID))
}

// ProjectIDGt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) ProjectIDGt(projectID ID) ShootQuerySet {
	return qs.w(qs.db.Where("project_id > ?", projectID))
}

// ProjectIDGte is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) ProjectIDGte(projectID ID) ShootQuerySet {
	return qs.w(qs.db.Where("project_id >= ?", projectID))
}

// ProjectIDIn is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) ProjectIDIn(projectID ...ID) ShootQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id IN (?)", projectID))
}

// ProjectIDLt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) ProjectIDLt(projectID ID) ShootQuerySet {
	return qs.w(qs.db.Where("project_id < ?", projectID))
}

// ProjectIDLte is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) ProjectIDLte(projectID ID) ShootQuerySet {
	return qs.w(qs.db.Where("project_id <= ?", projectID))
}

// ProjectIDNe is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) ProjectIDNe(projectID ID) ShootQuerySet {
	return qs.w(qs.db.Where("project_id != ?", projectID))
}

// ProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) ProjectIDNotIn(projectID ...ID) ShootQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id NOT IN (?)", projectID))
}

// ProjectIsNotNull is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) ProjectIsNotNull() ShootQuerySet {
	return qs.w(qs.db.Where("project IS NOT NULL"))
}

// ProjectIsNull is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) ProjectIsNull() ShootQuerySet {
	return qs.w(qs.db.Where("project IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) UpdatedAtEq(updatedAt time.Time) ShootQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) UpdatedAtGt(updatedAt time.Time) ShootQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) UpdatedAtGte(updatedAt time.Time) ShootQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) UpdatedAtIsNotNull() ShootQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) UpdatedAtIsNull() ShootQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) UpdatedAtLt(updatedAt time.Time) ShootQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) UpdatedAtLte(updatedAt time.Time) ShootQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) UpdatedAtNe(updatedAt time.Time) ShootQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VpcIDEq is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) VpcIDEq(vpcID string) ShootQuerySet {
	return qs.w(qs.db.Where("vpc_id = ?", vpcID))
}

// VpcIDGt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) VpcIDGt(vpcID string) ShootQuerySet {
	return qs.w(qs.db.Where("vpc_id > ?", vpcID))
}

// VpcIDGte is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) VpcIDGte(vpcID string) ShootQuerySet {
	return qs.w(qs.db.Where("vpc_id >= ?", vpcID))
}

// VpcIDIn is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) VpcIDIn(vpcID ...string) ShootQuerySet {
	if len(vpcID) == 0 {
		qs.db.AddError(errors.New("must at least pass one vpcID in VpcIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("vpc_id IN (?)", vpcID))
}

// VpcIDLike is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) VpcIDLike(vpcID string) ShootQuerySet {
	return qs.w(qs.db.Where("vpc_id LIKE ?", vpcID))
}

// VpcIDLt is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) VpcIDLt(vpcID string) ShootQuerySet {
	return qs.w(qs.db.Where("vpc_id < ?", vpcID))
}

// VpcIDLte is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) VpcIDLte(vpcID string) ShootQuerySet {
	return qs.w(qs.db.Where("vpc_id <= ?", vpcID))
}

// VpcIDNe is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) VpcIDNe(vpcID string) ShootQuerySet {
	return qs.w(qs.db.Where("vpc_id != ?", vpcID))
}

// VpcIDNotIn is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) VpcIDNotIn(vpcID ...string) ShootQuerySet {
	if len(vpcID) == 0 {
		qs.db.AddError(errors.New("must at least pass one vpcID in VpcIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("vpc_id NOT IN (?)", vpcID))
}

// VpcIDNotlike is an autogenerated method
// nolint: dupl
func (qs ShootQuerySet) VpcIDNotlike(vpcID string) ShootQuerySet {
	return qs.w(qs.db.Where("vpc_id NOT LIKE ?", vpcID))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ShootUpdater) SetCreatedAt(createdAt time.Time) ShootUpdater {
	u.fields[string(ShootDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ShootUpdater) SetID(ID ID) ShootUpdater {
	u.fields[string(ShootDBSchema.ID)] = ID
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u ShootUpdater) SetName(name string) ShootUpdater {
	u.fields[string(ShootDBSchema.Name)] = name
	return u
}

// SetPhzID is an autogenerated method
// nolint: dupl
func (u ShootUpdater) SetPhzID(phzID string) ShootUpdater {
	u.fields[string(ShootDBSchema.PhzID)] = phzID
	return u
}

// SetProjectID is an autogenerated method
// nolint: dupl
func (u ShootUpdater) SetProjectID(projectID ID) ShootUpdater {
	u.fields[string(ShootDBSchema.ProjectID)] = projectID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ShootUpdater) SetUpdatedAt(updatedAt *time.Time) ShootUpdater {
	u.fields[string(ShootDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVpcID is an autogenerated method
// nolint: dupl
func (u ShootUpdater) SetVpcID(vpcID string) ShootUpdater {
	u.fields[string(ShootDBSchema.VpcID)] = vpcID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ShootUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ShootUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ShootQuerySet

// ===== BEGIN of Shoot modifiers

// ShootDBSchemaField describes database schema field. It requires for method 'Update'
type ShootDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ShootDBSchemaField) String() string {
	return string(f)
}

// ShootDBSchema stores db field names of Shoot
var ShootDBSchema = struct {
	ID        ShootDBSchemaField
	CreatedAt ShootDBSchemaField
	UpdatedAt ShootDBSchemaField
	VpcID     ShootDBSchemaField
	Name      ShootDBSchemaField
	PhzID     ShootDBSchemaField
	ProjectID ShootDBSchemaField
	Project   ShootDBSchemaField
}{

	ID:        ShootDBSchemaField("id"),
	CreatedAt: ShootDBSchemaField("created_at"),
	UpdatedAt: ShootDBSchemaField("updated_at"),
	VpcID:     ShootDBSchemaField("vpc_id"),
	Name:      ShootDBSchemaField("name"),
	PhzID:     ShootDBSchemaField("phz_id"),
	ProjectID: ShootDBSchemaField("project_id"),
	Project:   ShootDBSchemaField("project"),
}

// Update updates Shoot fields by primary key
// nolint: dupl
func (o *Shoot) Update(db *gorm.DB, fields ...ShootDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"updated_at": o.UpdatedAt,
		"vpc_id":     o.VpcID,
		"name":       o.Name,
		"phz_id":     o.PhzID,
		"project_id": o.ProjectID,
		"project":    o.Project,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Shoot %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ShootUpdater is an Shoot updates manager
type ShootUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewShootUpdater creates new Shoot updater
// nolint: dupl
func NewShootUpdater(db *gorm.DB) ShootUpdater {
	return ShootUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Shoot{}),
	}
}

// ===== END of Shoot modifiers

// ===== BEGIN of query set TenantPlanChangeLogQuerySet

// TenantPlanChangeLogQuerySet is an queryset type for TenantPlanChangeLog
type TenantPlanChangeLogQuerySet struct {
	db *gorm.DB
}

// NewTenantPlanChangeLogQuerySet constructs new TenantPlanChangeLogQuerySet
func NewTenantPlanChangeLogQuerySet(db *gorm.DB) TenantPlanChangeLogQuerySet {
	return TenantPlanChangeLogQuerySet{
		db: db.Model(&TenantPlanChangeLog{}),
	}
}

func (qs TenantPlanChangeLogQuerySet) w(db *gorm.DB) TenantPlanChangeLogQuerySet {
	return NewTenantPlanChangeLogQuerySet(db)
}

func (qs TenantPlanChangeLogQuerySet) Select(fields ...TenantPlanChangeLogDBSchemaField) TenantPlanChangeLogQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *TenantPlanChangeLog) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *TenantPlanChangeLog) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) All(ret *[]TenantPlanChangeLog) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) CreatedAtEq(createdAt time.Time) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) CreatedAtGt(createdAt time.Time) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) CreatedAtGte(createdAt time.Time) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) CreatedAtLt(createdAt time.Time) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) CreatedAtLte(createdAt time.Time) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) CreatedAtNe(createdAt time.Time) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) Delete() error {
	return qs.db.Delete(&TenantPlanChangeLog{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&TenantPlanChangeLog{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&TenantPlanChangeLog{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) GetUpdater() TenantPlanChangeLogUpdater {
	return NewTenantPlanChangeLogUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) IDEq(ID ID) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) IDGt(ID ID) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) IDGte(ID ID) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) IDIn(ID ...ID) TenantPlanChangeLogQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) IDLt(ID ID) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) IDLte(ID ID) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) IDNe(ID ID) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) IDNotIn(ID ...ID) TenantPlanChangeLogQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) Limit(limit int) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NewPlanEq is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) NewPlanEq(newPlan TenantPlan) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("new_plan = ?", newPlan))
}

// NewPlanGt is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) NewPlanGt(newPlan TenantPlan) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("new_plan > ?", newPlan))
}

// NewPlanGte is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) NewPlanGte(newPlan TenantPlan) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("new_plan >= ?", newPlan))
}

// NewPlanIn is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) NewPlanIn(newPlan ...TenantPlan) TenantPlanChangeLogQuerySet {
	if len(newPlan) == 0 {
		qs.db.AddError(errors.New("must at least pass one newPlan in NewPlanIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("new_plan IN (?)", newPlan))
}

// NewPlanLike is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) NewPlanLike(newPlan TenantPlan) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("new_plan LIKE ?", newPlan))
}

// NewPlanLt is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) NewPlanLt(newPlan TenantPlan) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("new_plan < ?", newPlan))
}

// NewPlanLte is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) NewPlanLte(newPlan TenantPlan) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("new_plan <= ?", newPlan))
}

// NewPlanNe is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) NewPlanNe(newPlan TenantPlan) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("new_plan != ?", newPlan))
}

// NewPlanNotIn is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) NewPlanNotIn(newPlan ...TenantPlan) TenantPlanChangeLogQuerySet {
	if len(newPlan) == 0 {
		qs.db.AddError(errors.New("must at least pass one newPlan in NewPlanNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("new_plan NOT IN (?)", newPlan))
}

// NewPlanNotlike is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) NewPlanNotlike(newPlan TenantPlan) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("new_plan NOT LIKE ?", newPlan))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) Offset(offset int) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs TenantPlanChangeLogQuerySet) One(ret *TenantPlanChangeLog) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) OrderAscByCreatedAt() TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) OrderAscByID() TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByNewPlan is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) OrderAscByNewPlan() TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Order("new_plan ASC"))
}

// OrderAscByPlan is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) OrderAscByPlan() TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Order("plan ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) OrderAscByTenantID() TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) OrderDescByCreatedAt() TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) OrderDescByID() TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByNewPlan is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) OrderDescByNewPlan() TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Order("new_plan DESC"))
}

// OrderDescByPlan is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) OrderDescByPlan() TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Order("plan DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) OrderDescByTenantID() TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// PlanEq is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) PlanEq(plan TenantPlan) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("plan = ?", plan))
}

// PlanGt is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) PlanGt(plan TenantPlan) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("plan > ?", plan))
}

// PlanGte is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) PlanGte(plan TenantPlan) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("plan >= ?", plan))
}

// PlanIn is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) PlanIn(plan ...TenantPlan) TenantPlanChangeLogQuerySet {
	if len(plan) == 0 {
		qs.db.AddError(errors.New("must at least pass one plan in PlanIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("plan IN (?)", plan))
}

// PlanLike is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) PlanLike(plan TenantPlan) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("plan LIKE ?", plan))
}

// PlanLt is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) PlanLt(plan TenantPlan) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("plan < ?", plan))
}

// PlanLte is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) PlanLte(plan TenantPlan) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("plan <= ?", plan))
}

// PlanNe is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) PlanNe(plan TenantPlan) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("plan != ?", plan))
}

// PlanNotIn is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) PlanNotIn(plan ...TenantPlan) TenantPlanChangeLogQuerySet {
	if len(plan) == 0 {
		qs.db.AddError(errors.New("must at least pass one plan in PlanNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("plan NOT IN (?)", plan))
}

// PlanNotlike is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) PlanNotlike(plan TenantPlan) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("plan NOT LIKE ?", plan))
}

// PreloadTenant is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) PreloadTenant() TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Preload("Tenant"))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) TenantIDEq(tenantID ID) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) TenantIDGt(tenantID ID) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) TenantIDGte(tenantID ID) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) TenantIDIn(tenantID ...ID) TenantPlanChangeLogQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) TenantIDLt(tenantID ID) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) TenantIDLte(tenantID ID) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) TenantIDNe(tenantID ID) TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) TenantIDNotIn(tenantID ...ID) TenantPlanChangeLogQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// TenantIsNotNull is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) TenantIsNotNull() TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("tenant IS NOT NULL"))
}

// TenantIsNull is an autogenerated method
// nolint: dupl
func (qs TenantPlanChangeLogQuerySet) TenantIsNull() TenantPlanChangeLogQuerySet {
	return qs.w(qs.db.Where("tenant IS NULL"))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u TenantPlanChangeLogUpdater) SetCreatedAt(createdAt time.Time) TenantPlanChangeLogUpdater {
	u.fields[string(TenantPlanChangeLogDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u TenantPlanChangeLogUpdater) SetID(ID ID) TenantPlanChangeLogUpdater {
	u.fields[string(TenantPlanChangeLogDBSchema.ID)] = ID
	return u
}

// SetNewPlan is an autogenerated method
// nolint: dupl
func (u TenantPlanChangeLogUpdater) SetNewPlan(newPlan TenantPlan) TenantPlanChangeLogUpdater {
	u.fields[string(TenantPlanChangeLogDBSchema.NewPlan)] = newPlan
	return u
}

// SetPlan is an autogenerated method
// nolint: dupl
func (u TenantPlanChangeLogUpdater) SetPlan(plan TenantPlan) TenantPlanChangeLogUpdater {
	u.fields[string(TenantPlanChangeLogDBSchema.Plan)] = plan
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u TenantPlanChangeLogUpdater) SetTenantID(tenantID ID) TenantPlanChangeLogUpdater {
	u.fields[string(TenantPlanChangeLogDBSchema.TenantID)] = tenantID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u TenantPlanChangeLogUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u TenantPlanChangeLogUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set TenantPlanChangeLogQuerySet

// ===== BEGIN of TenantPlanChangeLog modifiers

// TenantPlanChangeLogDBSchemaField describes database schema field. It requires for method 'Update'
type TenantPlanChangeLogDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f TenantPlanChangeLogDBSchemaField) String() string {
	return string(f)
}

// TenantPlanChangeLogDBSchema stores db field names of TenantPlanChangeLog
var TenantPlanChangeLogDBSchema = struct {
	ID        TenantPlanChangeLogDBSchemaField
	CreatedAt TenantPlanChangeLogDBSchemaField
	TenantID  TenantPlanChangeLogDBSchemaField
	Tenant    TenantPlanChangeLogDBSchemaField
	Plan      TenantPlanChangeLogDBSchemaField
	NewPlan   TenantPlanChangeLogDBSchemaField
}{

	ID:        TenantPlanChangeLogDBSchemaField("id"),
	CreatedAt: TenantPlanChangeLogDBSchemaField("created_at"),
	TenantID:  TenantPlanChangeLogDBSchemaField("tenant_id"),
	Tenant:    TenantPlanChangeLogDBSchemaField("tenant"),
	Plan:      TenantPlanChangeLogDBSchemaField("plan"),
	NewPlan:   TenantPlanChangeLogDBSchemaField("new_plan"),
}

// Update updates TenantPlanChangeLog fields by primary key
// nolint: dupl
func (o *TenantPlanChangeLog) Update(db *gorm.DB, fields ...TenantPlanChangeLogDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"tenant_id":  o.TenantID,
		"tenant":     o.Tenant,
		"plan":       o.Plan,
		"new_plan":   o.NewPlan,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update TenantPlanChangeLog %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// TenantPlanChangeLogUpdater is an TenantPlanChangeLog updates manager
type TenantPlanChangeLogUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewTenantPlanChangeLogUpdater creates new TenantPlanChangeLog updater
// nolint: dupl
func NewTenantPlanChangeLogUpdater(db *gorm.DB) TenantPlanChangeLogUpdater {
	return TenantPlanChangeLogUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&TenantPlanChangeLog{}),
	}
}

// ===== END of TenantPlanChangeLog modifiers

// ===== BEGIN of query set TenantQuerySet

// TenantQuerySet is an queryset type for Tenant
type TenantQuerySet struct {
	db *gorm.DB
}

// NewTenantQuerySet constructs new TenantQuerySet
func NewTenantQuerySet(db *gorm.DB) TenantQuerySet {
	return TenantQuerySet{
		db: db.Model(&Tenant{}),
	}
}

func (qs TenantQuerySet) w(db *gorm.DB) TenantQuerySet {
	return NewTenantQuerySet(db)
}

func (qs TenantQuerySet) Select(fields ...TenantDBSchemaField) TenantQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Tenant) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Tenant) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// AcceptServiceEq is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) AcceptServiceEq(acceptService bool) TenantQuerySet {
	return qs.w(qs.db.Where("accept_service = ?", acceptService))
}

// AcceptServiceIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) AcceptServiceIn(acceptService ...bool) TenantQuerySet {
	if len(acceptService) == 0 {
		qs.db.AddError(errors.New("must at least pass one acceptService in AcceptServiceIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("accept_service IN (?)", acceptService))
}

// AcceptServiceNe is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) AcceptServiceNe(acceptService bool) TenantQuerySet {
	return qs.w(qs.db.Where("accept_service != ?", acceptService))
}

// AcceptServiceNotIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) AcceptServiceNotIn(acceptService ...bool) TenantQuerySet {
	if len(acceptService) == 0 {
		qs.db.AddError(errors.New("must at least pass one acceptService in AcceptServiceNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("accept_service NOT IN (?)", acceptService))
}

// All is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) All(ret *[]Tenant) error {
	return qs.db.Find(ret).Error
}

// BillingEmailEq is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BillingEmailEq(billingEmail string) TenantQuerySet {
	return qs.w(qs.db.Where("billing_email = ?", billingEmail))
}

// BillingEmailGt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BillingEmailGt(billingEmail string) TenantQuerySet {
	return qs.w(qs.db.Where("billing_email > ?", billingEmail))
}

// BillingEmailGte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BillingEmailGte(billingEmail string) TenantQuerySet {
	return qs.w(qs.db.Where("billing_email >= ?", billingEmail))
}

// BillingEmailIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BillingEmailIn(billingEmail ...string) TenantQuerySet {
	if len(billingEmail) == 0 {
		qs.db.AddError(errors.New("must at least pass one billingEmail in BillingEmailIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("billing_email IN (?)", billingEmail))
}

// BillingEmailLike is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BillingEmailLike(billingEmail string) TenantQuerySet {
	return qs.w(qs.db.Where("billing_email LIKE ?", billingEmail))
}

// BillingEmailLt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BillingEmailLt(billingEmail string) TenantQuerySet {
	return qs.w(qs.db.Where("billing_email < ?", billingEmail))
}

// BillingEmailLte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BillingEmailLte(billingEmail string) TenantQuerySet {
	return qs.w(qs.db.Where("billing_email <= ?", billingEmail))
}

// BillingEmailNe is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BillingEmailNe(billingEmail string) TenantQuerySet {
	return qs.w(qs.db.Where("billing_email != ?", billingEmail))
}

// BillingEmailNotIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BillingEmailNotIn(billingEmail ...string) TenantQuerySet {
	if len(billingEmail) == 0 {
		qs.db.AddError(errors.New("must at least pass one billingEmail in BillingEmailNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("billing_email NOT IN (?)", billingEmail))
}

// BillingEmailNotlike is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BillingEmailNotlike(billingEmail string) TenantQuerySet {
	return qs.w(qs.db.Where("billing_email NOT LIKE ?", billingEmail))
}

// BindCreditCardAtEq is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BindCreditCardAtEq(bindCreditCardAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("bind_credit_card_at = ?", bindCreditCardAt))
}

// BindCreditCardAtGt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BindCreditCardAtGt(bindCreditCardAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("bind_credit_card_at > ?", bindCreditCardAt))
}

// BindCreditCardAtGte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BindCreditCardAtGte(bindCreditCardAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("bind_credit_card_at >= ?", bindCreditCardAt))
}

// BindCreditCardAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BindCreditCardAtIsNotNull() TenantQuerySet {
	return qs.w(qs.db.Where("bind_credit_card_at IS NOT NULL"))
}

// BindCreditCardAtIsNull is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BindCreditCardAtIsNull() TenantQuerySet {
	return qs.w(qs.db.Where("bind_credit_card_at IS NULL"))
}

// BindCreditCardAtLt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BindCreditCardAtLt(bindCreditCardAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("bind_credit_card_at < ?", bindCreditCardAt))
}

// BindCreditCardAtLte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BindCreditCardAtLte(bindCreditCardAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("bind_credit_card_at <= ?", bindCreditCardAt))
}

// BindCreditCardAtNe is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) BindCreditCardAtNe(bindCreditCardAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("bind_credit_card_at != ?", bindCreditCardAt))
}

// Count is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CountryEq is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) CountryEq(country string) TenantQuerySet {
	return qs.w(qs.db.Where("country = ?", country))
}

// CountryGt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) CountryGt(country string) TenantQuerySet {
	return qs.w(qs.db.Where("country > ?", country))
}

// CountryGte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) CountryGte(country string) TenantQuerySet {
	return qs.w(qs.db.Where("country >= ?", country))
}

// CountryIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) CountryIn(country ...string) TenantQuerySet {
	if len(country) == 0 {
		qs.db.AddError(errors.New("must at least pass one country in CountryIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("country IN (?)", country))
}

// CountryLike is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) CountryLike(country string) TenantQuerySet {
	return qs.w(qs.db.Where("country LIKE ?", country))
}

// CountryLt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) CountryLt(country string) TenantQuerySet {
	return qs.w(qs.db.Where("country < ?", country))
}

// CountryLte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) CountryLte(country string) TenantQuerySet {
	return qs.w(qs.db.Where("country <= ?", country))
}

// CountryNe is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) CountryNe(country string) TenantQuerySet {
	return qs.w(qs.db.Where("country != ?", country))
}

// CountryNotIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) CountryNotIn(country ...string) TenantQuerySet {
	if len(country) == 0 {
		qs.db.AddError(errors.New("must at least pass one country in CountryNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("country NOT IN (?)", country))
}

// CountryNotlike is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) CountryNotlike(country string) TenantQuerySet {
	return qs.w(qs.db.Where("country NOT LIKE ?", country))
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) CreatedAtEq(createdAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) CreatedAtGt(createdAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) CreatedAtGte(createdAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) CreatedAtLt(createdAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) CreatedAtLte(createdAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) CreatedAtNe(createdAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) Delete() error {
	return qs.db.Delete(&Tenant{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Tenant{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Tenant{})
	return db.RowsAffected, db.Error
}

// EmailEq is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) EmailEq(email string) TenantQuerySet {
	return qs.w(qs.db.Where("email = ?", email))
}

// EmailGt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) EmailGt(email string) TenantQuerySet {
	return qs.w(qs.db.Where("email > ?", email))
}

// EmailGte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) EmailGte(email string) TenantQuerySet {
	return qs.w(qs.db.Where("email >= ?", email))
}

// EmailIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) EmailIn(email ...string) TenantQuerySet {
	if len(email) == 0 {
		qs.db.AddError(errors.New("must at least pass one email in EmailIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("email IN (?)", email))
}

// EmailLike is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) EmailLike(email string) TenantQuerySet {
	return qs.w(qs.db.Where("email LIKE ?", email))
}

// EmailLt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) EmailLt(email string) TenantQuerySet {
	return qs.w(qs.db.Where("email < ?", email))
}

// EmailLte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) EmailLte(email string) TenantQuerySet {
	return qs.w(qs.db.Where("email <= ?", email))
}

// EmailNe is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) EmailNe(email string) TenantQuerySet {
	return qs.w(qs.db.Where("email != ?", email))
}

// EmailNotIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) EmailNotIn(email ...string) TenantQuerySet {
	if len(email) == 0 {
		qs.db.AddError(errors.New("must at least pass one email in EmailNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("email NOT IN (?)", email))
}

// EmailNotlike is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) EmailNotlike(email string) TenantQuerySet {
	return qs.w(qs.db.Where("email NOT LIKE ?", email))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) GetUpdater() TenantUpdater {
	return NewTenantUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) IDEq(ID ID) TenantQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) IDGt(ID ID) TenantQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) IDGte(ID ID) TenantQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) IDIn(ID ...ID) TenantQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) IDLt(ID ID) TenantQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) IDLte(ID ID) TenantQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) IDNe(ID ID) TenantQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) IDNotIn(ID ...ID) TenantQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) Limit(limit int) TenantQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) NameEq(name string) TenantQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) NameGt(name string) TenantQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) NameGte(name string) TenantQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) NameIn(name ...string) TenantQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) NameLike(name string) TenantQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) NameLt(name string) TenantQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) NameLte(name string) TenantQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) NameNe(name string) TenantQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) NameNotIn(name ...string) TenantQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) NameNotlike(name string) TenantQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) Offset(offset int) TenantQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs TenantQuerySet) One(ret *Tenant) error {
	return qs.db.First(ret).Error
}

// OrderAscByAcceptService is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderAscByAcceptService() TenantQuerySet {
	return qs.w(qs.db.Order("accept_service ASC"))
}

// OrderAscByBillingEmail is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderAscByBillingEmail() TenantQuerySet {
	return qs.w(qs.db.Order("billing_email ASC"))
}

// OrderAscByBindCreditCardAt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderAscByBindCreditCardAt() TenantQuerySet {
	return qs.w(qs.db.Order("bind_credit_card_at ASC"))
}

// OrderAscByCountry is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderAscByCountry() TenantQuerySet {
	return qs.w(qs.db.Order("country ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderAscByCreatedAt() TenantQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByEmail is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderAscByEmail() TenantQuerySet {
	return qs.w(qs.db.Order("email ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderAscByID() TenantQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderAscByName() TenantQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByPlan is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderAscByPlan() TenantQuerySet {
	return qs.w(qs.db.Order("plan ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderAscByStatus() TenantQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByTimeZone is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderAscByTimeZone() TenantQuerySet {
	return qs.w(qs.db.Order("time_zone ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderAscByUpdatedAt() TenantQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByZendeskID is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderAscByZendeskID() TenantQuerySet {
	return qs.w(qs.db.Order("zendesk_id ASC"))
}

// OrderDescByAcceptService is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderDescByAcceptService() TenantQuerySet {
	return qs.w(qs.db.Order("accept_service DESC"))
}

// OrderDescByBillingEmail is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderDescByBillingEmail() TenantQuerySet {
	return qs.w(qs.db.Order("billing_email DESC"))
}

// OrderDescByBindCreditCardAt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderDescByBindCreditCardAt() TenantQuerySet {
	return qs.w(qs.db.Order("bind_credit_card_at DESC"))
}

// OrderDescByCountry is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderDescByCountry() TenantQuerySet {
	return qs.w(qs.db.Order("country DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderDescByCreatedAt() TenantQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByEmail is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderDescByEmail() TenantQuerySet {
	return qs.w(qs.db.Order("email DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderDescByID() TenantQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderDescByName() TenantQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByPlan is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderDescByPlan() TenantQuerySet {
	return qs.w(qs.db.Order("plan DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderDescByStatus() TenantQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByTimeZone is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderDescByTimeZone() TenantQuerySet {
	return qs.w(qs.db.Order("time_zone DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderDescByUpdatedAt() TenantQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByZendeskID is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) OrderDescByZendeskID() TenantQuerySet {
	return qs.w(qs.db.Order("zendesk_id DESC"))
}

// PlanEq is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) PlanEq(plan TenantPlan) TenantQuerySet {
	return qs.w(qs.db.Where("plan = ?", plan))
}

// PlanGt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) PlanGt(plan TenantPlan) TenantQuerySet {
	return qs.w(qs.db.Where("plan > ?", plan))
}

// PlanGte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) PlanGte(plan TenantPlan) TenantQuerySet {
	return qs.w(qs.db.Where("plan >= ?", plan))
}

// PlanIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) PlanIn(plan ...TenantPlan) TenantQuerySet {
	if len(plan) == 0 {
		qs.db.AddError(errors.New("must at least pass one plan in PlanIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("plan IN (?)", plan))
}

// PlanLike is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) PlanLike(plan TenantPlan) TenantQuerySet {
	return qs.w(qs.db.Where("plan LIKE ?", plan))
}

// PlanLt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) PlanLt(plan TenantPlan) TenantQuerySet {
	return qs.w(qs.db.Where("plan < ?", plan))
}

// PlanLte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) PlanLte(plan TenantPlan) TenantQuerySet {
	return qs.w(qs.db.Where("plan <= ?", plan))
}

// PlanNe is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) PlanNe(plan TenantPlan) TenantQuerySet {
	return qs.w(qs.db.Where("plan != ?", plan))
}

// PlanNotIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) PlanNotIn(plan ...TenantPlan) TenantQuerySet {
	if len(plan) == 0 {
		qs.db.AddError(errors.New("must at least pass one plan in PlanNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("plan NOT IN (?)", plan))
}

// PlanNotlike is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) PlanNotlike(plan TenantPlan) TenantQuerySet {
	return qs.w(qs.db.Where("plan NOT LIKE ?", plan))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) StatusEq(status TenantStatus) TenantQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) StatusGt(status TenantStatus) TenantQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) StatusGte(status TenantStatus) TenantQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) StatusIn(status ...TenantStatus) TenantQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) StatusLike(status TenantStatus) TenantQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) StatusLt(status TenantStatus) TenantQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) StatusLte(status TenantStatus) TenantQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) StatusNe(status TenantStatus) TenantQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) StatusNotIn(status ...TenantStatus) TenantQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) StatusNotlike(status TenantStatus) TenantQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// TimeZoneEq is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) TimeZoneEq(timeZone string) TenantQuerySet {
	return qs.w(qs.db.Where("time_zone = ?", timeZone))
}

// TimeZoneGt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) TimeZoneGt(timeZone string) TenantQuerySet {
	return qs.w(qs.db.Where("time_zone > ?", timeZone))
}

// TimeZoneGte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) TimeZoneGte(timeZone string) TenantQuerySet {
	return qs.w(qs.db.Where("time_zone >= ?", timeZone))
}

// TimeZoneIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) TimeZoneIn(timeZone ...string) TenantQuerySet {
	if len(timeZone) == 0 {
		qs.db.AddError(errors.New("must at least pass one timeZone in TimeZoneIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("time_zone IN (?)", timeZone))
}

// TimeZoneLike is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) TimeZoneLike(timeZone string) TenantQuerySet {
	return qs.w(qs.db.Where("time_zone LIKE ?", timeZone))
}

// TimeZoneLt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) TimeZoneLt(timeZone string) TenantQuerySet {
	return qs.w(qs.db.Where("time_zone < ?", timeZone))
}

// TimeZoneLte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) TimeZoneLte(timeZone string) TenantQuerySet {
	return qs.w(qs.db.Where("time_zone <= ?", timeZone))
}

// TimeZoneNe is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) TimeZoneNe(timeZone string) TenantQuerySet {
	return qs.w(qs.db.Where("time_zone != ?", timeZone))
}

// TimeZoneNotIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) TimeZoneNotIn(timeZone ...string) TenantQuerySet {
	if len(timeZone) == 0 {
		qs.db.AddError(errors.New("must at least pass one timeZone in TimeZoneNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("time_zone NOT IN (?)", timeZone))
}

// TimeZoneNotlike is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) TimeZoneNotlike(timeZone string) TenantQuerySet {
	return qs.w(qs.db.Where("time_zone NOT LIKE ?", timeZone))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) UpdatedAtEq(updatedAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) UpdatedAtGt(updatedAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) UpdatedAtGte(updatedAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) UpdatedAtIsNotNull() TenantQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) UpdatedAtIsNull() TenantQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) UpdatedAtLt(updatedAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) UpdatedAtLte(updatedAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) UpdatedAtNe(updatedAt time.Time) TenantQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// ZendeskIDEq is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) ZendeskIDEq(zendeskID ID) TenantQuerySet {
	return qs.w(qs.db.Where("zendesk_id = ?", zendeskID))
}

// ZendeskIDGt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) ZendeskIDGt(zendeskID ID) TenantQuerySet {
	return qs.w(qs.db.Where("zendesk_id > ?", zendeskID))
}

// ZendeskIDGte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) ZendeskIDGte(zendeskID ID) TenantQuerySet {
	return qs.w(qs.db.Where("zendesk_id >= ?", zendeskID))
}

// ZendeskIDIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) ZendeskIDIn(zendeskID ...ID) TenantQuerySet {
	if len(zendeskID) == 0 {
		qs.db.AddError(errors.New("must at least pass one zendeskID in ZendeskIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("zendesk_id IN (?)", zendeskID))
}

// ZendeskIDLt is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) ZendeskIDLt(zendeskID ID) TenantQuerySet {
	return qs.w(qs.db.Where("zendesk_id < ?", zendeskID))
}

// ZendeskIDLte is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) ZendeskIDLte(zendeskID ID) TenantQuerySet {
	return qs.w(qs.db.Where("zendesk_id <= ?", zendeskID))
}

// ZendeskIDNe is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) ZendeskIDNe(zendeskID ID) TenantQuerySet {
	return qs.w(qs.db.Where("zendesk_id != ?", zendeskID))
}

// ZendeskIDNotIn is an autogenerated method
// nolint: dupl
func (qs TenantQuerySet) ZendeskIDNotIn(zendeskID ...ID) TenantQuerySet {
	if len(zendeskID) == 0 {
		qs.db.AddError(errors.New("must at least pass one zendeskID in ZendeskIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("zendesk_id NOT IN (?)", zendeskID))
}

// SetAcceptService is an autogenerated method
// nolint: dupl
func (u TenantUpdater) SetAcceptService(acceptService bool) TenantUpdater {
	u.fields[string(TenantDBSchema.AcceptService)] = acceptService
	return u
}

// SetBillingEmail is an autogenerated method
// nolint: dupl
func (u TenantUpdater) SetBillingEmail(billingEmail string) TenantUpdater {
	u.fields[string(TenantDBSchema.BillingEmail)] = billingEmail
	return u
}

// SetBindCreditCardAt is an autogenerated method
// nolint: dupl
func (u TenantUpdater) SetBindCreditCardAt(bindCreditCardAt *time.Time) TenantUpdater {
	u.fields[string(TenantDBSchema.BindCreditCardAt)] = bindCreditCardAt
	return u
}

// SetCountry is an autogenerated method
// nolint: dupl
func (u TenantUpdater) SetCountry(country string) TenantUpdater {
	u.fields[string(TenantDBSchema.Country)] = country
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u TenantUpdater) SetCreatedAt(createdAt time.Time) TenantUpdater {
	u.fields[string(TenantDBSchema.CreatedAt)] = createdAt
	return u
}

// SetEmail is an autogenerated method
// nolint: dupl
func (u TenantUpdater) SetEmail(email string) TenantUpdater {
	u.fields[string(TenantDBSchema.Email)] = email
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u TenantUpdater) SetID(ID ID) TenantUpdater {
	u.fields[string(TenantDBSchema.ID)] = ID
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u TenantUpdater) SetName(name string) TenantUpdater {
	u.fields[string(TenantDBSchema.Name)] = name
	return u
}

// SetPlan is an autogenerated method
// nolint: dupl
func (u TenantUpdater) SetPlan(plan TenantPlan) TenantUpdater {
	u.fields[string(TenantDBSchema.Plan)] = plan
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u TenantUpdater) SetStatus(status TenantStatus) TenantUpdater {
	u.fields[string(TenantDBSchema.Status)] = status
	return u
}

// SetTimeZone is an autogenerated method
// nolint: dupl
func (u TenantUpdater) SetTimeZone(timeZone string) TenantUpdater {
	u.fields[string(TenantDBSchema.TimeZone)] = timeZone
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u TenantUpdater) SetUpdatedAt(updatedAt *time.Time) TenantUpdater {
	u.fields[string(TenantDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetZendeskID is an autogenerated method
// nolint: dupl
func (u TenantUpdater) SetZendeskID(zendeskID ID) TenantUpdater {
	u.fields[string(TenantDBSchema.ZendeskID)] = zendeskID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u TenantUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u TenantUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set TenantQuerySet

// ===== BEGIN of Tenant modifiers

// TenantDBSchemaField describes database schema field. It requires for method 'Update'
type TenantDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f TenantDBSchemaField) String() string {
	return string(f)
}

// TenantDBSchema stores db field names of Tenant
var TenantDBSchema = struct {
	ID               TenantDBSchemaField
	CreatedAt        TenantDBSchemaField
	UpdatedAt        TenantDBSchemaField
	Name             TenantDBSchemaField
	Email            TenantDBSchemaField
	Country          TenantDBSchemaField
	TimeZone         TenantDBSchemaField
	Status           TenantDBSchemaField
	Plan             TenantDBSchemaField
	AcceptService    TenantDBSchemaField
	BindCreditCardAt TenantDBSchemaField
	ZendeskID        TenantDBSchemaField
	BillingEmail     TenantDBSchemaField
}{

	ID:               TenantDBSchemaField("id"),
	CreatedAt:        TenantDBSchemaField("created_at"),
	UpdatedAt:        TenantDBSchemaField("updated_at"),
	Name:             TenantDBSchemaField("name"),
	Email:            TenantDBSchemaField("email"),
	Country:          TenantDBSchemaField("country"),
	TimeZone:         TenantDBSchemaField("time_zone"),
	Status:           TenantDBSchemaField("status"),
	Plan:             TenantDBSchemaField("plan"),
	AcceptService:    TenantDBSchemaField("accept_service"),
	BindCreditCardAt: TenantDBSchemaField("bind_credit_card_at"),
	ZendeskID:        TenantDBSchemaField("zendesk_id"),
	BillingEmail:     TenantDBSchemaField("billing_email"),
}

// Update updates Tenant fields by primary key
// nolint: dupl
func (o *Tenant) Update(db *gorm.DB, fields ...TenantDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                  o.ID,
		"created_at":          o.CreatedAt,
		"updated_at":          o.UpdatedAt,
		"name":                o.Name,
		"email":               o.Email,
		"country":             o.Country,
		"time_zone":           o.TimeZone,
		"status":              o.Status,
		"plan":                o.Plan,
		"accept_service":      o.AcceptService,
		"bind_credit_card_at": o.BindCreditCardAt,
		"zendesk_id":          o.ZendeskID,
		"billing_email":       o.BillingEmail,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Tenant %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// TenantUpdater is an Tenant updates manager
type TenantUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewTenantUpdater creates new Tenant updater
// nolint: dupl
func NewTenantUpdater(db *gorm.DB) TenantUpdater {
	return TenantUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Tenant{}),
	}
}

// ===== END of Tenant modifiers

// ===== BEGIN of query set TrafficFilterQuerySet

// TrafficFilterQuerySet is an queryset type for TrafficFilter
type TrafficFilterQuerySet struct {
	db *gorm.DB
}

// NewTrafficFilterQuerySet constructs new TrafficFilterQuerySet
func NewTrafficFilterQuerySet(db *gorm.DB) TrafficFilterQuerySet {
	return TrafficFilterQuerySet{
		db: db.Model(&TrafficFilter{}),
	}
}

func (qs TrafficFilterQuerySet) w(db *gorm.DB) TrafficFilterQuerySet {
	return NewTrafficFilterQuerySet(db)
}

func (qs TrafficFilterQuerySet) Select(fields ...TrafficFilterDBSchemaField) TrafficFilterQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *TrafficFilter) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *TrafficFilter) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) All(ret *[]TrafficFilter) error {
	return qs.db.Find(ret).Error
}

// CidrEq is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrEq(cidr string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("cidr = ?", cidr))
}

// CidrGt is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrGt(cidr string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("cidr > ?", cidr))
}

// CidrGte is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrGte(cidr string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("cidr >= ?", cidr))
}

// CidrIn is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrIn(cidr ...string) TrafficFilterQuerySet {
	if len(cidr) == 0 {
		qs.db.AddError(errors.New("must at least pass one cidr in CidrIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cidr IN (?)", cidr))
}

// CidrLike is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrLike(cidr string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("cidr LIKE ?", cidr))
}

// CidrLt is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrLt(cidr string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("cidr < ?", cidr))
}

// CidrLte is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrLte(cidr string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("cidr <= ?", cidr))
}

// CidrNe is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrNe(cidr string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("cidr != ?", cidr))
}

// CidrNotIn is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrNotIn(cidr ...string) TrafficFilterQuerySet {
	if len(cidr) == 0 {
		qs.db.AddError(errors.New("must at least pass one cidr in CidrNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cidr NOT IN (?)", cidr))
}

// CidrNotlike is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrNotlike(cidr string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("cidr NOT LIKE ?", cidr))
}

// Count is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// Delete is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) Delete() error {
	return qs.db.Delete(&TrafficFilter{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&TrafficFilter{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&TrafficFilter{})
	return db.RowsAffected, db.Error
}

// DescriptionEq is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionEq(description string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("description = ?", description))
}

// DescriptionGt is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionGt(description string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("description > ?", description))
}

// DescriptionGte is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionGte(description string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("description >= ?", description))
}

// DescriptionIn is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionIn(description ...string) TrafficFilterQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description IN (?)", description))
}

// DescriptionLike is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionLike(description string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("description LIKE ?", description))
}

// DescriptionLt is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionLt(description string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("description < ?", description))
}

// DescriptionLte is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionLte(description string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("description <= ?", description))
}

// DescriptionNe is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionNe(description string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("description != ?", description))
}

// DescriptionNotIn is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionNotIn(description ...string) TrafficFilterQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description NOT IN (?)", description))
}

// DescriptionNotlike is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionNotlike(description string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("description NOT LIKE ?", description))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) GetUpdater() TrafficFilterUpdater {
	return NewTrafficFilterUpdater(qs.db)
}

// Limit is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) Limit(limit int) TrafficFilterQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) Offset(offset int) TrafficFilterQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs TrafficFilterQuerySet) One(ret *TrafficFilter) error {
	return qs.db.First(ret).Error
}

// OrderAscByCidr is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) OrderAscByCidr() TrafficFilterQuerySet {
	return qs.w(qs.db.Order("cidr ASC"))
}

// OrderAscByDescription is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) OrderAscByDescription() TrafficFilterQuerySet {
	return qs.w(qs.db.Order("description ASC"))
}

// OrderDescByCidr is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) OrderDescByCidr() TrafficFilterQuerySet {
	return qs.w(qs.db.Order("cidr DESC"))
}

// OrderDescByDescription is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) OrderDescByDescription() TrafficFilterQuerySet {
	return qs.w(qs.db.Order("description DESC"))
}

// SetCidr is an autogenerated method
// nolint: dupl
func (u TrafficFilterUpdater) SetCidr(cidr string) TrafficFilterUpdater {
	u.fields[string(TrafficFilterDBSchema.Cidr)] = cidr
	return u
}

// SetDescription is an autogenerated method
// nolint: dupl
func (u TrafficFilterUpdater) SetDescription(description string) TrafficFilterUpdater {
	u.fields[string(TrafficFilterDBSchema.Description)] = description
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u TrafficFilterUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u TrafficFilterUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set TrafficFilterQuerySet

// ===== BEGIN of TrafficFilter modifiers

// TrafficFilterDBSchemaField describes database schema field. It requires for method 'Update'
type TrafficFilterDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f TrafficFilterDBSchemaField) String() string {
	return string(f)
}

// TrafficFilterDBSchema stores db field names of TrafficFilter
var TrafficFilterDBSchema = struct {
	Cidr        TrafficFilterDBSchemaField
	Description TrafficFilterDBSchemaField
}{

	Cidr:        TrafficFilterDBSchemaField("cidr"),
	Description: TrafficFilterDBSchemaField("description"),
}

// Update updates TrafficFilter fields by primary key
// nolint: dupl
func (o *TrafficFilter) Update(db *gorm.DB, fields ...TrafficFilterDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"cidr":        o.Cidr,
		"description": o.Description,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update TrafficFilter %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// TrafficFilterUpdater is an TrafficFilter updates manager
type TrafficFilterUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewTrafficFilterUpdater creates new TrafficFilter updater
// nolint: dupl
func NewTrafficFilterUpdater(db *gorm.DB) TrafficFilterUpdater {
	return TrafficFilterUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&TrafficFilter{}),
	}
}

// ===== END of TrafficFilter modifiers

// ===== BEGIN of query set TrafficFiltersQuerySet

// TrafficFiltersQuerySet is an queryset type for TrafficFilters
type TrafficFiltersQuerySet struct {
	db *gorm.DB
}

// NewTrafficFiltersQuerySet constructs new TrafficFiltersQuerySet
func NewTrafficFiltersQuerySet(db *gorm.DB) TrafficFiltersQuerySet {
	return TrafficFiltersQuerySet{
		db: db.Model(&TrafficFilters{}),
	}
}

func (qs TrafficFiltersQuerySet) w(db *gorm.DB) TrafficFiltersQuerySet {
	return NewTrafficFiltersQuerySet(db)
}

func (qs TrafficFiltersQuerySet) Select(fields ...TrafficFiltersDBSchemaField) TrafficFiltersQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *TrafficFilters) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *TrafficFilters) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) All(ret *[]TrafficFilters) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// Delete is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) Delete() error {
	return qs.db.Delete(&TrafficFilters{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&TrafficFilters{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&TrafficFilters{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) GetUpdater() TrafficFiltersUpdater {
	return NewTrafficFiltersUpdater(qs.db)
}

// Limit is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) Limit(limit int) TrafficFiltersQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) Offset(offset int) TrafficFiltersQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs TrafficFiltersQuerySet) One(ret *TrafficFilters) error {
	return qs.db.First(ret).Error
}

// Update is an autogenerated method
// nolint: dupl
func (u TrafficFiltersUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u TrafficFiltersUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set TrafficFiltersQuerySet

// ===== BEGIN of TrafficFilters modifiers

// TrafficFiltersDBSchemaField describes database schema field. It requires for method 'Update'
type TrafficFiltersDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f TrafficFiltersDBSchemaField) String() string {
	return string(f)
}

// TrafficFiltersDBSchema stores db field names of TrafficFilters
var TrafficFiltersDBSchema = struct {
}{}

// Update updates TrafficFilters fields by primary key
// nolint: dupl
func (o *TrafficFilters) Update(db *gorm.DB, fields ...TrafficFiltersDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update TrafficFilters %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// TrafficFiltersUpdater is an TrafficFilters updates manager
type TrafficFiltersUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewTrafficFiltersUpdater creates new TrafficFilters updater
// nolint: dupl
func NewTrafficFiltersUpdater(db *gorm.DB) TrafficFiltersUpdater {
	return TrafficFiltersUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&TrafficFilters{}),
	}
}

// ===== END of TrafficFilters modifiers

// ===== BEGIN of query set UserChangeLogQuerySet

// UserChangeLogQuerySet is an queryset type for UserChangeLog
type UserChangeLogQuerySet struct {
	db *gorm.DB
}

// NewUserChangeLogQuerySet constructs new UserChangeLogQuerySet
func NewUserChangeLogQuerySet(db *gorm.DB) UserChangeLogQuerySet {
	return UserChangeLogQuerySet{
		db: db.Model(&UserChangeLog{}),
	}
}

func (qs UserChangeLogQuerySet) w(db *gorm.DB) UserChangeLogQuerySet {
	return NewUserChangeLogQuerySet(db)
}

func (qs UserChangeLogQuerySet) Select(fields ...UserChangeLogDBSchemaField) UserChangeLogQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *UserChangeLog) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *UserChangeLog) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) All(ret *[]UserChangeLog) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) CreatedAtEq(createdAt time.Time) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) CreatedAtGt(createdAt time.Time) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) CreatedAtGte(createdAt time.Time) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) CreatedAtLt(createdAt time.Time) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) CreatedAtLte(createdAt time.Time) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) CreatedAtNe(createdAt time.Time) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) Delete() error {
	return qs.db.Delete(&UserChangeLog{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&UserChangeLog{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&UserChangeLog{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) GetUpdater() UserChangeLogUpdater {
	return NewUserChangeLogUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) IDEq(ID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) IDGt(ID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) IDGte(ID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) IDIn(ID ...ID) UserChangeLogQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) IDLt(ID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) IDLte(ID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) IDNe(ID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) IDNotIn(ID ...ID) UserChangeLogQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) Limit(limit int) UserChangeLogQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) Offset(offset int) UserChangeLogQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs UserChangeLogQuerySet) One(ret *UserChangeLog) error {
	return qs.db.First(ret).Error
}

// OperatedByIDEq is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperatedByIDEq(operatedByID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("operated_by_id = ?", operatedByID))
}

// OperatedByIDGt is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperatedByIDGt(operatedByID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("operated_by_id > ?", operatedByID))
}

// OperatedByIDGte is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperatedByIDGte(operatedByID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("operated_by_id >= ?", operatedByID))
}

// OperatedByIDIn is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperatedByIDIn(operatedByID ...ID) UserChangeLogQuerySet {
	if len(operatedByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one operatedByID in OperatedByIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("operated_by_id IN (?)", operatedByID))
}

// OperatedByIDLt is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperatedByIDLt(operatedByID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("operated_by_id < ?", operatedByID))
}

// OperatedByIDLte is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperatedByIDLte(operatedByID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("operated_by_id <= ?", operatedByID))
}

// OperatedByIDNe is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperatedByIDNe(operatedByID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("operated_by_id != ?", operatedByID))
}

// OperatedByIDNotIn is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperatedByIDNotIn(operatedByID ...ID) UserChangeLogQuerySet {
	if len(operatedByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one operatedByID in OperatedByIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("operated_by_id NOT IN (?)", operatedByID))
}

// OperatedByIsNotNull is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperatedByIsNotNull() UserChangeLogQuerySet {
	return qs.w(qs.db.Where("operated_by IS NOT NULL"))
}

// OperatedByIsNull is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperatedByIsNull() UserChangeLogQuerySet {
	return qs.w(qs.db.Where("operated_by IS NULL"))
}

// OperationEq is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperationEq(operation string) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("operation = ?", operation))
}

// OperationGt is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperationGt(operation string) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("operation > ?", operation))
}

// OperationGte is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperationGte(operation string) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("operation >= ?", operation))
}

// OperationIn is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperationIn(operation ...string) UserChangeLogQuerySet {
	if len(operation) == 0 {
		qs.db.AddError(errors.New("must at least pass one operation in OperationIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("operation IN (?)", operation))
}

// OperationLike is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperationLike(operation string) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("operation LIKE ?", operation))
}

// OperationLt is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperationLt(operation string) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("operation < ?", operation))
}

// OperationLte is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperationLte(operation string) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("operation <= ?", operation))
}

// OperationNe is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperationNe(operation string) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("operation != ?", operation))
}

// OperationNotIn is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperationNotIn(operation ...string) UserChangeLogQuerySet {
	if len(operation) == 0 {
		qs.db.AddError(errors.New("must at least pass one operation in OperationNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("operation NOT IN (?)", operation))
}

// OperationNotlike is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OperationNotlike(operation string) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("operation NOT LIKE ?", operation))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OrderAscByCreatedAt() UserChangeLogQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OrderAscByID() UserChangeLogQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByOperatedByID is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OrderAscByOperatedByID() UserChangeLogQuerySet {
	return qs.w(qs.db.Order("operated_by_id ASC"))
}

// OrderAscByOperation is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OrderAscByOperation() UserChangeLogQuerySet {
	return qs.w(qs.db.Order("operation ASC"))
}

// OrderAscByUserID is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OrderAscByUserID() UserChangeLogQuerySet {
	return qs.w(qs.db.Order("user_id ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OrderDescByCreatedAt() UserChangeLogQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OrderDescByID() UserChangeLogQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByOperatedByID is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OrderDescByOperatedByID() UserChangeLogQuerySet {
	return qs.w(qs.db.Order("operated_by_id DESC"))
}

// OrderDescByOperation is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OrderDescByOperation() UserChangeLogQuerySet {
	return qs.w(qs.db.Order("operation DESC"))
}

// OrderDescByUserID is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) OrderDescByUserID() UserChangeLogQuerySet {
	return qs.w(qs.db.Order("user_id DESC"))
}

// PreloadOperatedBy is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) PreloadOperatedBy() UserChangeLogQuerySet {
	return qs.w(qs.db.Preload("OperatedBy"))
}

// PreloadUser is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) PreloadUser() UserChangeLogQuerySet {
	return qs.w(qs.db.Preload("User"))
}

// UserIDEq is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) UserIDEq(userID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("user_id = ?", userID))
}

// UserIDGt is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) UserIDGt(userID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("user_id > ?", userID))
}

// UserIDGte is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) UserIDGte(userID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("user_id >= ?", userID))
}

// UserIDIn is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) UserIDIn(userID ...ID) UserChangeLogQuerySet {
	if len(userID) == 0 {
		qs.db.AddError(errors.New("must at least pass one userID in UserIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("user_id IN (?)", userID))
}

// UserIDLt is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) UserIDLt(userID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("user_id < ?", userID))
}

// UserIDLte is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) UserIDLte(userID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("user_id <= ?", userID))
}

// UserIDNe is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) UserIDNe(userID ID) UserChangeLogQuerySet {
	return qs.w(qs.db.Where("user_id != ?", userID))
}

// UserIDNotIn is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) UserIDNotIn(userID ...ID) UserChangeLogQuerySet {
	if len(userID) == 0 {
		qs.db.AddError(errors.New("must at least pass one userID in UserIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("user_id NOT IN (?)", userID))
}

// UserIsNotNull is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) UserIsNotNull() UserChangeLogQuerySet {
	return qs.w(qs.db.Where("user IS NOT NULL"))
}

// UserIsNull is an autogenerated method
// nolint: dupl
func (qs UserChangeLogQuerySet) UserIsNull() UserChangeLogQuerySet {
	return qs.w(qs.db.Where("user IS NULL"))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u UserChangeLogUpdater) SetCreatedAt(createdAt time.Time) UserChangeLogUpdater {
	u.fields[string(UserChangeLogDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u UserChangeLogUpdater) SetID(ID ID) UserChangeLogUpdater {
	u.fields[string(UserChangeLogDBSchema.ID)] = ID
	return u
}

// SetOperatedByID is an autogenerated method
// nolint: dupl
func (u UserChangeLogUpdater) SetOperatedByID(operatedByID ID) UserChangeLogUpdater {
	u.fields[string(UserChangeLogDBSchema.OperatedByID)] = operatedByID
	return u
}

// SetOperation is an autogenerated method
// nolint: dupl
func (u UserChangeLogUpdater) SetOperation(operation string) UserChangeLogUpdater {
	u.fields[string(UserChangeLogDBSchema.Operation)] = operation
	return u
}

// SetUserID is an autogenerated method
// nolint: dupl
func (u UserChangeLogUpdater) SetUserID(userID ID) UserChangeLogUpdater {
	u.fields[string(UserChangeLogDBSchema.UserID)] = userID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u UserChangeLogUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u UserChangeLogUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set UserChangeLogQuerySet

// ===== BEGIN of UserChangeLog modifiers

// UserChangeLogDBSchemaField describes database schema field. It requires for method 'Update'
type UserChangeLogDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f UserChangeLogDBSchemaField) String() string {
	return string(f)
}

// UserChangeLogDBSchema stores db field names of UserChangeLog
var UserChangeLogDBSchema = struct {
	ID           UserChangeLogDBSchemaField
	CreatedAt    UserChangeLogDBSchemaField
	UserID       UserChangeLogDBSchemaField
	User         UserChangeLogDBSchemaField
	Operation    UserChangeLogDBSchemaField
	OperatedByID UserChangeLogDBSchemaField
	OperatedBy   UserChangeLogDBSchemaField
}{

	ID:           UserChangeLogDBSchemaField("id"),
	CreatedAt:    UserChangeLogDBSchemaField("created_at"),
	UserID:       UserChangeLogDBSchemaField("user_id"),
	User:         UserChangeLogDBSchemaField("user"),
	Operation:    UserChangeLogDBSchemaField("operation"),
	OperatedByID: UserChangeLogDBSchemaField("operated_by_id"),
	OperatedBy:   UserChangeLogDBSchemaField("operated_by"),
}

// Update updates UserChangeLog fields by primary key
// nolint: dupl
func (o *UserChangeLog) Update(db *gorm.DB, fields ...UserChangeLogDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":             o.ID,
		"created_at":     o.CreatedAt,
		"user_id":        o.UserID,
		"user":           o.User,
		"operation":      o.Operation,
		"operated_by_id": o.OperatedByID,
		"operated_by":    o.OperatedBy,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update UserChangeLog %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// UserChangeLogUpdater is an UserChangeLog updates manager
type UserChangeLogUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewUserChangeLogUpdater creates new UserChangeLog updater
// nolint: dupl
func NewUserChangeLogUpdater(db *gorm.DB) UserChangeLogUpdater {
	return UserChangeLogUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&UserChangeLog{}),
	}
}

// ===== END of UserChangeLog modifiers

// ===== BEGIN of query set UserInviteTokenQuerySet

// UserInviteTokenQuerySet is an queryset type for UserInviteToken
type UserInviteTokenQuerySet struct {
	db *gorm.DB
}

// NewUserInviteTokenQuerySet constructs new UserInviteTokenQuerySet
func NewUserInviteTokenQuerySet(db *gorm.DB) UserInviteTokenQuerySet {
	return UserInviteTokenQuerySet{
		db: db.Model(&UserInviteToken{}),
	}
}

func (qs UserInviteTokenQuerySet) w(db *gorm.DB) UserInviteTokenQuerySet {
	return NewUserInviteTokenQuerySet(db)
}

func (qs UserInviteTokenQuerySet) Select(fields ...UserInviteTokenDBSchemaField) UserInviteTokenQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *UserInviteToken) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *UserInviteToken) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) All(ret *[]UserInviteToken) error {
	return qs.db.Find(ret).Error
}

// BeginAtEq is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) BeginAtEq(beginAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("begin_at = ?", beginAt))
}

// BeginAtGt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) BeginAtGt(beginAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("begin_at > ?", beginAt))
}

// BeginAtGte is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) BeginAtGte(beginAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("begin_at >= ?", beginAt))
}

// BeginAtLt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) BeginAtLt(beginAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("begin_at < ?", beginAt))
}

// BeginAtLte is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) BeginAtLte(beginAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("begin_at <= ?", beginAt))
}

// BeginAtNe is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) BeginAtNe(beginAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("begin_at != ?", beginAt))
}

// Count is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) CreatedAtEq(createdAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) CreatedAtGt(createdAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) CreatedAtGte(createdAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) CreatedAtLt(createdAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) CreatedAtLte(createdAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) CreatedAtNe(createdAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) Delete() error {
	return qs.db.Delete(&UserInviteToken{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&UserInviteToken{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&UserInviteToken{})
	return db.RowsAffected, db.Error
}

// EmailEq is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) EmailEq(email string) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("email = ?", email))
}

// EmailGt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) EmailGt(email string) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("email > ?", email))
}

// EmailGte is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) EmailGte(email string) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("email >= ?", email))
}

// EmailIn is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) EmailIn(email ...string) UserInviteTokenQuerySet {
	if len(email) == 0 {
		qs.db.AddError(errors.New("must at least pass one email in EmailIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("email IN (?)", email))
}

// EmailLike is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) EmailLike(email string) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("email LIKE ?", email))
}

// EmailLt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) EmailLt(email string) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("email < ?", email))
}

// EmailLte is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) EmailLte(email string) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("email <= ?", email))
}

// EmailNe is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) EmailNe(email string) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("email != ?", email))
}

// EmailNotIn is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) EmailNotIn(email ...string) UserInviteTokenQuerySet {
	if len(email) == 0 {
		qs.db.AddError(errors.New("must at least pass one email in EmailNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("email NOT IN (?)", email))
}

// EmailNotlike is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) EmailNotlike(email string) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("email NOT LIKE ?", email))
}

// ExpireAtEq is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) ExpireAtEq(expireAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("expire_at = ?", expireAt))
}

// ExpireAtGt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) ExpireAtGt(expireAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("expire_at > ?", expireAt))
}

// ExpireAtGte is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) ExpireAtGte(expireAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("expire_at >= ?", expireAt))
}

// ExpireAtLt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) ExpireAtLt(expireAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("expire_at < ?", expireAt))
}

// ExpireAtLte is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) ExpireAtLte(expireAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("expire_at <= ?", expireAt))
}

// ExpireAtNe is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) ExpireAtNe(expireAt time.Time) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("expire_at != ?", expireAt))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) GetUpdater() UserInviteTokenUpdater {
	return NewUserInviteTokenUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) IDEq(ID ID) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) IDGt(ID ID) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) IDGte(ID ID) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) IDIn(ID ...ID) UserInviteTokenQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) IDLt(ID ID) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) IDLte(ID ID) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) IDNe(ID ID) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) IDNotIn(ID ...ID) UserInviteTokenQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// IsOneTimeEq is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) IsOneTimeEq(isOneTime bool) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("is_one_time = ?", isOneTime))
}

// IsOneTimeIn is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) IsOneTimeIn(isOneTime ...bool) UserInviteTokenQuerySet {
	if len(isOneTime) == 0 {
		qs.db.AddError(errors.New("must at least pass one isOneTime in IsOneTimeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("is_one_time IN (?)", isOneTime))
}

// IsOneTimeNe is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) IsOneTimeNe(isOneTime bool) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("is_one_time != ?", isOneTime))
}

// IsOneTimeNotIn is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) IsOneTimeNotIn(isOneTime ...bool) UserInviteTokenQuerySet {
	if len(isOneTime) == 0 {
		qs.db.AddError(errors.New("must at least pass one isOneTime in IsOneTimeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("is_one_time NOT IN (?)", isOneTime))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) Limit(limit int) UserInviteTokenQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// MethodEq is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) MethodEq(method string) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("method = ?", method))
}

// MethodGt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) MethodGt(method string) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("method > ?", method))
}

// MethodGte is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) MethodGte(method string) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("method >= ?", method))
}

// MethodIn is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) MethodIn(method ...string) UserInviteTokenQuerySet {
	if len(method) == 0 {
		qs.db.AddError(errors.New("must at least pass one method in MethodIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("method IN (?)", method))
}

// MethodLike is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) MethodLike(method string) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("method LIKE ?", method))
}

// MethodLt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) MethodLt(method string) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("method < ?", method))
}

// MethodLte is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) MethodLte(method string) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("method <= ?", method))
}

// MethodNe is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) MethodNe(method string) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("method != ?", method))
}

// MethodNotIn is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) MethodNotIn(method ...string) UserInviteTokenQuerySet {
	if len(method) == 0 {
		qs.db.AddError(errors.New("must at least pass one method in MethodNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("method NOT IN (?)", method))
}

// MethodNotlike is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) MethodNotlike(method string) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("method NOT LIKE ?", method))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) Offset(offset int) UserInviteTokenQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs UserInviteTokenQuerySet) One(ret *UserInviteToken) error {
	return qs.db.First(ret).Error
}

// OrderAscByBeginAt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) OrderAscByBeginAt() UserInviteTokenQuerySet {
	return qs.w(qs.db.Order("begin_at ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) OrderAscByCreatedAt() UserInviteTokenQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByEmail is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) OrderAscByEmail() UserInviteTokenQuerySet {
	return qs.w(qs.db.Order("email ASC"))
}

// OrderAscByExpireAt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) OrderAscByExpireAt() UserInviteTokenQuerySet {
	return qs.w(qs.db.Order("expire_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) OrderAscByID() UserInviteTokenQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByIsOneTime is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) OrderAscByIsOneTime() UserInviteTokenQuerySet {
	return qs.w(qs.db.Order("is_one_time ASC"))
}

// OrderAscByMethod is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) OrderAscByMethod() UserInviteTokenQuerySet {
	return qs.w(qs.db.Order("method ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) OrderAscByTenantID() UserInviteTokenQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderDescByBeginAt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) OrderDescByBeginAt() UserInviteTokenQuerySet {
	return qs.w(qs.db.Order("begin_at DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) OrderDescByCreatedAt() UserInviteTokenQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByEmail is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) OrderDescByEmail() UserInviteTokenQuerySet {
	return qs.w(qs.db.Order("email DESC"))
}

// OrderDescByExpireAt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) OrderDescByExpireAt() UserInviteTokenQuerySet {
	return qs.w(qs.db.Order("expire_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) OrderDescByID() UserInviteTokenQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByIsOneTime is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) OrderDescByIsOneTime() UserInviteTokenQuerySet {
	return qs.w(qs.db.Order("is_one_time DESC"))
}

// OrderDescByMethod is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) OrderDescByMethod() UserInviteTokenQuerySet {
	return qs.w(qs.db.Order("method DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) OrderDescByTenantID() UserInviteTokenQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) TenantIDEq(tenantID ID) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) TenantIDGt(tenantID ID) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) TenantIDGte(tenantID ID) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) TenantIDIn(tenantID ...ID) UserInviteTokenQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) TenantIDLt(tenantID ID) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) TenantIDLte(tenantID ID) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) TenantIDNe(tenantID ID) UserInviteTokenQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs UserInviteTokenQuerySet) TenantIDNotIn(tenantID ...ID) UserInviteTokenQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// SetBeginAt is an autogenerated method
// nolint: dupl
func (u UserInviteTokenUpdater) SetBeginAt(beginAt time.Time) UserInviteTokenUpdater {
	u.fields[string(UserInviteTokenDBSchema.BeginAt)] = beginAt
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u UserInviteTokenUpdater) SetCreatedAt(createdAt time.Time) UserInviteTokenUpdater {
	u.fields[string(UserInviteTokenDBSchema.CreatedAt)] = createdAt
	return u
}

// SetEmail is an autogenerated method
// nolint: dupl
func (u UserInviteTokenUpdater) SetEmail(email string) UserInviteTokenUpdater {
	u.fields[string(UserInviteTokenDBSchema.Email)] = email
	return u
}

// SetExpireAt is an autogenerated method
// nolint: dupl
func (u UserInviteTokenUpdater) SetExpireAt(expireAt time.Time) UserInviteTokenUpdater {
	u.fields[string(UserInviteTokenDBSchema.ExpireAt)] = expireAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u UserInviteTokenUpdater) SetID(ID ID) UserInviteTokenUpdater {
	u.fields[string(UserInviteTokenDBSchema.ID)] = ID
	return u
}

// SetIsOneTime is an autogenerated method
// nolint: dupl
func (u UserInviteTokenUpdater) SetIsOneTime(isOneTime bool) UserInviteTokenUpdater {
	u.fields[string(UserInviteTokenDBSchema.IsOneTime)] = isOneTime
	return u
}

// SetMethod is an autogenerated method
// nolint: dupl
func (u UserInviteTokenUpdater) SetMethod(method string) UserInviteTokenUpdater {
	u.fields[string(UserInviteTokenDBSchema.Method)] = method
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u UserInviteTokenUpdater) SetTenantID(tenantID ID) UserInviteTokenUpdater {
	u.fields[string(UserInviteTokenDBSchema.TenantID)] = tenantID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u UserInviteTokenUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u UserInviteTokenUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set UserInviteTokenQuerySet

// ===== BEGIN of UserInviteToken modifiers

// UserInviteTokenDBSchemaField describes database schema field. It requires for method 'Update'
type UserInviteTokenDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f UserInviteTokenDBSchemaField) String() string {
	return string(f)
}

// UserInviteTokenDBSchema stores db field names of UserInviteToken
var UserInviteTokenDBSchema = struct {
	ID        UserInviteTokenDBSchemaField
	CreatedAt UserInviteTokenDBSchemaField
	Method    UserInviteTokenDBSchemaField
	Email     UserInviteTokenDBSchemaField
	TenantID  UserInviteTokenDBSchemaField
	BeginAt   UserInviteTokenDBSchemaField
	ExpireAt  UserInviteTokenDBSchemaField
	IsOneTime UserInviteTokenDBSchemaField
}{

	ID:        UserInviteTokenDBSchemaField("id"),
	CreatedAt: UserInviteTokenDBSchemaField("created_at"),
	Method:    UserInviteTokenDBSchemaField("method"),
	Email:     UserInviteTokenDBSchemaField("email"),
	TenantID:  UserInviteTokenDBSchemaField("tenant_id"),
	BeginAt:   UserInviteTokenDBSchemaField("begin_at"),
	ExpireAt:  UserInviteTokenDBSchemaField("expire_at"),
	IsOneTime: UserInviteTokenDBSchemaField("is_one_time"),
}

// Update updates UserInviteToken fields by primary key
// nolint: dupl
func (o *UserInviteToken) Update(db *gorm.DB, fields ...UserInviteTokenDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":          o.ID,
		"created_at":  o.CreatedAt,
		"method":      o.Method,
		"email":       o.Email,
		"tenant_id":   o.TenantID,
		"begin_at":    o.BeginAt,
		"expire_at":   o.ExpireAt,
		"is_one_time": o.IsOneTime,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update UserInviteToken %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// UserInviteTokenUpdater is an UserInviteToken updates manager
type UserInviteTokenUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewUserInviteTokenUpdater creates new UserInviteToken updater
// nolint: dupl
func NewUserInviteTokenUpdater(db *gorm.DB) UserInviteTokenUpdater {
	return UserInviteTokenUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&UserInviteToken{}),
	}
}

// ===== END of UserInviteToken modifiers

// ===== BEGIN of query set UserQuerySet

// UserQuerySet is an queryset type for User
type UserQuerySet struct {
	db *gorm.DB
}

// NewUserQuerySet constructs new UserQuerySet
func NewUserQuerySet(db *gorm.DB) UserQuerySet {
	return UserQuerySet{
		db: db.Model(&User{}),
	}
}

func (qs UserQuerySet) w(db *gorm.DB) UserQuerySet {
	return NewUserQuerySet(db)
}

func (qs UserQuerySet) Select(fields ...UserDBSchemaField) UserQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *User) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *User) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) All(ret *[]User) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) CreatedAtEq(createdAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) CreatedAtGt(createdAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) CreatedAtGte(createdAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) CreatedAtLt(createdAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) CreatedAtLte(createdAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) CreatedAtNe(createdAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) Delete() error {
	return qs.db.Delete(&User{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&User{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&User{})
	return db.RowsAffected, db.Error
}

// DeletedAtEq is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DeletedAtEq(deletedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("deleted_at = ?", deletedAt))
}

// DeletedAtGt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DeletedAtGt(deletedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("deleted_at > ?", deletedAt))
}

// DeletedAtGte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DeletedAtGte(deletedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("deleted_at >= ?", deletedAt))
}

// DeletedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DeletedAtIsNotNull() UserQuerySet {
	return qs.w(qs.db.Where("deleted_at IS NOT NULL"))
}

// DeletedAtIsNull is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DeletedAtIsNull() UserQuerySet {
	return qs.w(qs.db.Where("deleted_at IS NULL"))
}

// DeletedAtLt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DeletedAtLt(deletedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("deleted_at < ?", deletedAt))
}

// DeletedAtLte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DeletedAtLte(deletedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("deleted_at <= ?", deletedAt))
}

// DeletedAtNe is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DeletedAtNe(deletedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("deleted_at != ?", deletedAt))
}

// EmailEq is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) EmailEq(email string) UserQuerySet {
	return qs.w(qs.db.Where("email = ?", email))
}

// EmailGt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) EmailGt(email string) UserQuerySet {
	return qs.w(qs.db.Where("email > ?", email))
}

// EmailGte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) EmailGte(email string) UserQuerySet {
	return qs.w(qs.db.Where("email >= ?", email))
}

// EmailIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) EmailIn(email ...string) UserQuerySet {
	if len(email) == 0 {
		qs.db.AddError(errors.New("must at least pass one email in EmailIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("email IN (?)", email))
}

// EmailLike is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) EmailLike(email string) UserQuerySet {
	return qs.w(qs.db.Where("email LIKE ?", email))
}

// EmailLt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) EmailLt(email string) UserQuerySet {
	return qs.w(qs.db.Where("email < ?", email))
}

// EmailLte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) EmailLte(email string) UserQuerySet {
	return qs.w(qs.db.Where("email <= ?", email))
}

// EmailNe is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) EmailNe(email string) UserQuerySet {
	return qs.w(qs.db.Where("email != ?", email))
}

// EmailNotIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) EmailNotIn(email ...string) UserQuerySet {
	if len(email) == 0 {
		qs.db.AddError(errors.New("must at least pass one email in EmailNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("email NOT IN (?)", email))
}

// EmailNotlike is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) EmailNotlike(email string) UserQuerySet {
	return qs.w(qs.db.Where("email NOT LIKE ?", email))
}

// FirstNameEq is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) FirstNameEq(firstName string) UserQuerySet {
	return qs.w(qs.db.Where("first_name = ?", firstName))
}

// FirstNameGt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) FirstNameGt(firstName string) UserQuerySet {
	return qs.w(qs.db.Where("first_name > ?", firstName))
}

// FirstNameGte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) FirstNameGte(firstName string) UserQuerySet {
	return qs.w(qs.db.Where("first_name >= ?", firstName))
}

// FirstNameIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) FirstNameIn(firstName ...string) UserQuerySet {
	if len(firstName) == 0 {
		qs.db.AddError(errors.New("must at least pass one firstName in FirstNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("first_name IN (?)", firstName))
}

// FirstNameLike is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) FirstNameLike(firstName string) UserQuerySet {
	return qs.w(qs.db.Where("first_name LIKE ?", firstName))
}

// FirstNameLt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) FirstNameLt(firstName string) UserQuerySet {
	return qs.w(qs.db.Where("first_name < ?", firstName))
}

// FirstNameLte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) FirstNameLte(firstName string) UserQuerySet {
	return qs.w(qs.db.Where("first_name <= ?", firstName))
}

// FirstNameNe is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) FirstNameNe(firstName string) UserQuerySet {
	return qs.w(qs.db.Where("first_name != ?", firstName))
}

// FirstNameNotIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) FirstNameNotIn(firstName ...string) UserQuerySet {
	if len(firstName) == 0 {
		qs.db.AddError(errors.New("must at least pass one firstName in FirstNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("first_name NOT IN (?)", firstName))
}

// FirstNameNotlike is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) FirstNameNotlike(firstName string) UserQuerySet {
	return qs.w(qs.db.Where("first_name NOT LIKE ?", firstName))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) GetUpdater() UserUpdater {
	return NewUserUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) IDEq(ID ID) UserQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) IDGt(ID ID) UserQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) IDGte(ID ID) UserQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) IDIn(ID ...ID) UserQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) IDLt(ID ID) UserQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) IDLte(ID ID) UserQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) IDNe(ID ID) UserQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) IDNotIn(ID ...ID) UserQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// InvitedAtEq is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) InvitedAtEq(invitedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("invited_at = ?", invitedAt))
}

// InvitedAtGt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) InvitedAtGt(invitedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("invited_at > ?", invitedAt))
}

// InvitedAtGte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) InvitedAtGte(invitedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("invited_at >= ?", invitedAt))
}

// InvitedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) InvitedAtIsNotNull() UserQuerySet {
	return qs.w(qs.db.Where("invited_at IS NOT NULL"))
}

// InvitedAtIsNull is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) InvitedAtIsNull() UserQuerySet {
	return qs.w(qs.db.Where("invited_at IS NULL"))
}

// InvitedAtLt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) InvitedAtLt(invitedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("invited_at < ?", invitedAt))
}

// InvitedAtLte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) InvitedAtLte(invitedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("invited_at <= ?", invitedAt))
}

// InvitedAtNe is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) InvitedAtNe(invitedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("invited_at != ?", invitedAt))
}

// JobEq is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) JobEq(job string) UserQuerySet {
	return qs.w(qs.db.Where("job = ?", job))
}

// JobGt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) JobGt(job string) UserQuerySet {
	return qs.w(qs.db.Where("job > ?", job))
}

// JobGte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) JobGte(job string) UserQuerySet {
	return qs.w(qs.db.Where("job >= ?", job))
}

// JobIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) JobIn(job ...string) UserQuerySet {
	if len(job) == 0 {
		qs.db.AddError(errors.New("must at least pass one job in JobIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("job IN (?)", job))
}

// JobLike is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) JobLike(job string) UserQuerySet {
	return qs.w(qs.db.Where("job LIKE ?", job))
}

// JobLt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) JobLt(job string) UserQuerySet {
	return qs.w(qs.db.Where("job < ?", job))
}

// JobLte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) JobLte(job string) UserQuerySet {
	return qs.w(qs.db.Where("job <= ?", job))
}

// JobNe is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) JobNe(job string) UserQuerySet {
	return qs.w(qs.db.Where("job != ?", job))
}

// JobNotIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) JobNotIn(job ...string) UserQuerySet {
	if len(job) == 0 {
		qs.db.AddError(errors.New("must at least pass one job in JobNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("job NOT IN (?)", job))
}

// JobNotlike is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) JobNotlike(job string) UserQuerySet {
	return qs.w(qs.db.Where("job NOT LIKE ?", job))
}

// LastNameEq is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) LastNameEq(lastName string) UserQuerySet {
	return qs.w(qs.db.Where("last_name = ?", lastName))
}

// LastNameGt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) LastNameGt(lastName string) UserQuerySet {
	return qs.w(qs.db.Where("last_name > ?", lastName))
}

// LastNameGte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) LastNameGte(lastName string) UserQuerySet {
	return qs.w(qs.db.Where("last_name >= ?", lastName))
}

// LastNameIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) LastNameIn(lastName ...string) UserQuerySet {
	if len(lastName) == 0 {
		qs.db.AddError(errors.New("must at least pass one lastName in LastNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("last_name IN (?)", lastName))
}

// LastNameLike is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) LastNameLike(lastName string) UserQuerySet {
	return qs.w(qs.db.Where("last_name LIKE ?", lastName))
}

// LastNameLt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) LastNameLt(lastName string) UserQuerySet {
	return qs.w(qs.db.Where("last_name < ?", lastName))
}

// LastNameLte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) LastNameLte(lastName string) UserQuerySet {
	return qs.w(qs.db.Where("last_name <= ?", lastName))
}

// LastNameNe is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) LastNameNe(lastName string) UserQuerySet {
	return qs.w(qs.db.Where("last_name != ?", lastName))
}

// LastNameNotIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) LastNameNotIn(lastName ...string) UserQuerySet {
	if len(lastName) == 0 {
		qs.db.AddError(errors.New("must at least pass one lastName in LastNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("last_name NOT IN (?)", lastName))
}

// LastNameNotlike is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) LastNameNotlike(lastName string) UserQuerySet {
	return qs.w(qs.db.Where("last_name NOT LIKE ?", lastName))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) Limit(limit int) UserQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) Offset(offset int) UserQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs UserQuerySet) One(ret *User) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderAscByCreatedAt() UserQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDeletedAt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderAscByDeletedAt() UserQuerySet {
	return qs.w(qs.db.Order("deleted_at ASC"))
}

// OrderAscByEmail is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderAscByEmail() UserQuerySet {
	return qs.w(qs.db.Order("email ASC"))
}

// OrderAscByFirstName is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderAscByFirstName() UserQuerySet {
	return qs.w(qs.db.Order("first_name ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderAscByID() UserQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByInvitedAt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderAscByInvitedAt() UserQuerySet {
	return qs.w(qs.db.Order("invited_at ASC"))
}

// OrderAscByJob is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderAscByJob() UserQuerySet {
	return qs.w(qs.db.Order("job ASC"))
}

// OrderAscByLastName is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderAscByLastName() UserQuerySet {
	return qs.w(qs.db.Order("last_name ASC"))
}

// OrderAscByPhoneNumber is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderAscByPhoneNumber() UserQuerySet {
	return qs.w(qs.db.Order("phone_number ASC"))
}

// OrderAscByRole is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderAscByRole() UserQuerySet {
	return qs.w(qs.db.Order("role ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderAscByStatus() UserQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderAscByTenantID() UserQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderAscByUpdatedAt() UserQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderDescByCreatedAt() UserQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDeletedAt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderDescByDeletedAt() UserQuerySet {
	return qs.w(qs.db.Order("deleted_at DESC"))
}

// OrderDescByEmail is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderDescByEmail() UserQuerySet {
	return qs.w(qs.db.Order("email DESC"))
}

// OrderDescByFirstName is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderDescByFirstName() UserQuerySet {
	return qs.w(qs.db.Order("first_name DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderDescByID() UserQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByInvitedAt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderDescByInvitedAt() UserQuerySet {
	return qs.w(qs.db.Order("invited_at DESC"))
}

// OrderDescByJob is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderDescByJob() UserQuerySet {
	return qs.w(qs.db.Order("job DESC"))
}

// OrderDescByLastName is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderDescByLastName() UserQuerySet {
	return qs.w(qs.db.Order("last_name DESC"))
}

// OrderDescByPhoneNumber is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderDescByPhoneNumber() UserQuerySet {
	return qs.w(qs.db.Order("phone_number DESC"))
}

// OrderDescByRole is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderDescByRole() UserQuerySet {
	return qs.w(qs.db.Order("role DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderDescByStatus() UserQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderDescByTenantID() UserQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderDescByUpdatedAt() UserQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PhoneNumberEq is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) PhoneNumberEq(phoneNumber string) UserQuerySet {
	return qs.w(qs.db.Where("phone_number = ?", phoneNumber))
}

// PhoneNumberGt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) PhoneNumberGt(phoneNumber string) UserQuerySet {
	return qs.w(qs.db.Where("phone_number > ?", phoneNumber))
}

// PhoneNumberGte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) PhoneNumberGte(phoneNumber string) UserQuerySet {
	return qs.w(qs.db.Where("phone_number >= ?", phoneNumber))
}

// PhoneNumberIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) PhoneNumberIn(phoneNumber ...string) UserQuerySet {
	if len(phoneNumber) == 0 {
		qs.db.AddError(errors.New("must at least pass one phoneNumber in PhoneNumberIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("phone_number IN (?)", phoneNumber))
}

// PhoneNumberLike is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) PhoneNumberLike(phoneNumber string) UserQuerySet {
	return qs.w(qs.db.Where("phone_number LIKE ?", phoneNumber))
}

// PhoneNumberLt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) PhoneNumberLt(phoneNumber string) UserQuerySet {
	return qs.w(qs.db.Where("phone_number < ?", phoneNumber))
}

// PhoneNumberLte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) PhoneNumberLte(phoneNumber string) UserQuerySet {
	return qs.w(qs.db.Where("phone_number <= ?", phoneNumber))
}

// PhoneNumberNe is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) PhoneNumberNe(phoneNumber string) UserQuerySet {
	return qs.w(qs.db.Where("phone_number != ?", phoneNumber))
}

// PhoneNumberNotIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) PhoneNumberNotIn(phoneNumber ...string) UserQuerySet {
	if len(phoneNumber) == 0 {
		qs.db.AddError(errors.New("must at least pass one phoneNumber in PhoneNumberNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("phone_number NOT IN (?)", phoneNumber))
}

// PhoneNumberNotlike is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) PhoneNumberNotlike(phoneNumber string) UserQuerySet {
	return qs.w(qs.db.Where("phone_number NOT LIKE ?", phoneNumber))
}

// PreloadTenant is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) PreloadTenant() UserQuerySet {
	return qs.w(qs.db.Preload("Tenant"))
}

// RoleEq is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) RoleEq(role UserRole) UserQuerySet {
	return qs.w(qs.db.Where("role = ?", role))
}

// RoleGt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) RoleGt(role UserRole) UserQuerySet {
	return qs.w(qs.db.Where("role > ?", role))
}

// RoleGte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) RoleGte(role UserRole) UserQuerySet {
	return qs.w(qs.db.Where("role >= ?", role))
}

// RoleIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) RoleIn(role ...UserRole) UserQuerySet {
	if len(role) == 0 {
		qs.db.AddError(errors.New("must at least pass one role in RoleIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("role IN (?)", role))
}

// RoleLike is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) RoleLike(role UserRole) UserQuerySet {
	return qs.w(qs.db.Where("role LIKE ?", role))
}

// RoleLt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) RoleLt(role UserRole) UserQuerySet {
	return qs.w(qs.db.Where("role < ?", role))
}

// RoleLte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) RoleLte(role UserRole) UserQuerySet {
	return qs.w(qs.db.Where("role <= ?", role))
}

// RoleNe is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) RoleNe(role UserRole) UserQuerySet {
	return qs.w(qs.db.Where("role != ?", role))
}

// RoleNotIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) RoleNotIn(role ...UserRole) UserQuerySet {
	if len(role) == 0 {
		qs.db.AddError(errors.New("must at least pass one role in RoleNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("role NOT IN (?)", role))
}

// RoleNotlike is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) RoleNotlike(role UserRole) UserQuerySet {
	return qs.w(qs.db.Where("role NOT LIKE ?", role))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) StatusEq(status UserStatus) UserQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) StatusGt(status UserStatus) UserQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) StatusGte(status UserStatus) UserQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) StatusIn(status ...UserStatus) UserQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) StatusLike(status UserStatus) UserQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) StatusLt(status UserStatus) UserQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) StatusLte(status UserStatus) UserQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) StatusNe(status UserStatus) UserQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) StatusNotIn(status ...UserStatus) UserQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) StatusNotlike(status UserStatus) UserQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) TenantIDEq(tenantID ID) UserQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) TenantIDGt(tenantID ID) UserQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) TenantIDGte(tenantID ID) UserQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) TenantIDIn(tenantID ...ID) UserQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) TenantIDLt(tenantID ID) UserQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) TenantIDLte(tenantID ID) UserQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) TenantIDNe(tenantID ID) UserQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) TenantIDNotIn(tenantID ...ID) UserQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// TenantIsNotNull is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) TenantIsNotNull() UserQuerySet {
	return qs.w(qs.db.Where("tenant IS NOT NULL"))
}

// TenantIsNull is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) TenantIsNull() UserQuerySet {
	return qs.w(qs.db.Where("tenant IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) UpdatedAtEq(updatedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) UpdatedAtGt(updatedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) UpdatedAtGte(updatedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) UpdatedAtIsNotNull() UserQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) UpdatedAtIsNull() UserQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) UpdatedAtLt(updatedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) UpdatedAtLte(updatedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) UpdatedAtNe(updatedAt time.Time) UserQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u UserUpdater) SetCreatedAt(createdAt time.Time) UserUpdater {
	u.fields[string(UserDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDeletedAt is an autogenerated method
// nolint: dupl
func (u UserUpdater) SetDeletedAt(deletedAt *time.Time) UserUpdater {
	u.fields[string(UserDBSchema.DeletedAt)] = deletedAt
	return u
}

// SetEmail is an autogenerated method
// nolint: dupl
func (u UserUpdater) SetEmail(email string) UserUpdater {
	u.fields[string(UserDBSchema.Email)] = email
	return u
}

// SetFirstName is an autogenerated method
// nolint: dupl
func (u UserUpdater) SetFirstName(firstName string) UserUpdater {
	u.fields[string(UserDBSchema.FirstName)] = firstName
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u UserUpdater) SetID(ID ID) UserUpdater {
	u.fields[string(UserDBSchema.ID)] = ID
	return u
}

// SetInvitedAt is an autogenerated method
// nolint: dupl
func (u UserUpdater) SetInvitedAt(invitedAt *time.Time) UserUpdater {
	u.fields[string(UserDBSchema.InvitedAt)] = invitedAt
	return u
}

// SetJob is an autogenerated method
// nolint: dupl
func (u UserUpdater) SetJob(job string) UserUpdater {
	u.fields[string(UserDBSchema.Job)] = job
	return u
}

// SetLastName is an autogenerated method
// nolint: dupl
func (u UserUpdater) SetLastName(lastName string) UserUpdater {
	u.fields[string(UserDBSchema.LastName)] = lastName
	return u
}

// SetPhoneNumber is an autogenerated method
// nolint: dupl
func (u UserUpdater) SetPhoneNumber(phoneNumber string) UserUpdater {
	u.fields[string(UserDBSchema.PhoneNumber)] = phoneNumber
	return u
}

// SetRole is an autogenerated method
// nolint: dupl
func (u UserUpdater) SetRole(role UserRole) UserUpdater {
	u.fields[string(UserDBSchema.Role)] = role
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u UserUpdater) SetStatus(status UserStatus) UserUpdater {
	u.fields[string(UserDBSchema.Status)] = status
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u UserUpdater) SetTenantID(tenantID ID) UserUpdater {
	u.fields[string(UserDBSchema.TenantID)] = tenantID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u UserUpdater) SetUpdatedAt(updatedAt *time.Time) UserUpdater {
	u.fields[string(UserDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u UserUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u UserUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set UserQuerySet

// ===== BEGIN of User modifiers

// UserDBSchemaField describes database schema field. It requires for method 'Update'
type UserDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f UserDBSchemaField) String() string {
	return string(f)
}

// UserDBSchema stores db field names of User
var UserDBSchema = struct {
	ID          UserDBSchemaField
	CreatedAt   UserDBSchemaField
	UpdatedAt   UserDBSchemaField
	DeletedAt   UserDBSchemaField
	TenantID    UserDBSchemaField
	Tenant      UserDBSchemaField
	FirstName   UserDBSchemaField
	LastName    UserDBSchemaField
	Email       UserDBSchemaField
	Status      UserDBSchemaField
	InvitedAt   UserDBSchemaField
	Job         UserDBSchemaField
	PhoneNumber UserDBSchemaField
	Role        UserDBSchemaField
}{

	ID:          UserDBSchemaField("id"),
	CreatedAt:   UserDBSchemaField("created_at"),
	UpdatedAt:   UserDBSchemaField("updated_at"),
	DeletedAt:   UserDBSchemaField("deleted_at"),
	TenantID:    UserDBSchemaField("tenant_id"),
	Tenant:      UserDBSchemaField("tenant"),
	FirstName:   UserDBSchemaField("first_name"),
	LastName:    UserDBSchemaField("last_name"),
	Email:       UserDBSchemaField("email"),
	Status:      UserDBSchemaField("status"),
	InvitedAt:   UserDBSchemaField("invited_at"),
	Job:         UserDBSchemaField("job"),
	PhoneNumber: UserDBSchemaField("phone_number"),
	Role:        UserDBSchemaField("role"),
}

// Update updates User fields by primary key
// nolint: dupl
func (o *User) Update(db *gorm.DB, fields ...UserDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":           o.ID,
		"created_at":   o.CreatedAt,
		"updated_at":   o.UpdatedAt,
		"deleted_at":   o.DeletedAt,
		"tenant_id":    o.TenantID,
		"tenant":       o.Tenant,
		"first_name":   o.FirstName,
		"last_name":    o.LastName,
		"email":        o.Email,
		"status":       o.Status,
		"invited_at":   o.InvitedAt,
		"job":          o.Job,
		"phone_number": o.PhoneNumber,
		"role":         o.Role,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update User %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// UserUpdater is an User updates manager
type UserUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewUserUpdater creates new User updater
// nolint: dupl
func NewUserUpdater(db *gorm.DB) UserUpdater {
	return UserUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&User{}),
	}
}

// ===== END of User modifiers

// ===== BEGIN of query set VerifyCodeQuerySet

// VerifyCodeQuerySet is an queryset type for VerifyCode
type VerifyCodeQuerySet struct {
	db *gorm.DB
}

// NewVerifyCodeQuerySet constructs new VerifyCodeQuerySet
func NewVerifyCodeQuerySet(db *gorm.DB) VerifyCodeQuerySet {
	return VerifyCodeQuerySet{
		db: db.Model(&VerifyCode{}),
	}
}

func (qs VerifyCodeQuerySet) w(db *gorm.DB) VerifyCodeQuerySet {
	return NewVerifyCodeQuerySet(db)
}

func (qs VerifyCodeQuerySet) Select(fields ...VerifyCodeDBSchemaField) VerifyCodeQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *VerifyCode) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *VerifyCode) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) All(ret *[]VerifyCode) error {
	return qs.db.Find(ret).Error
}

// CodeEq is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeEq(code string) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("code = ?", code))
}

// CodeGt is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeGt(code string) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("code > ?", code))
}

// CodeGte is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeGte(code string) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("code >= ?", code))
}

// CodeIn is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeIn(code ...string) VerifyCodeQuerySet {
	if len(code) == 0 {
		qs.db.AddError(errors.New("must at least pass one code in CodeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("code IN (?)", code))
}

// CodeKeyEq is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeKeyEq(codeKey string) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("code_key = ?", codeKey))
}

// CodeKeyGt is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeKeyGt(codeKey string) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("code_key > ?", codeKey))
}

// CodeKeyGte is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeKeyGte(codeKey string) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("code_key >= ?", codeKey))
}

// CodeKeyIn is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeKeyIn(codeKey ...string) VerifyCodeQuerySet {
	if len(codeKey) == 0 {
		qs.db.AddError(errors.New("must at least pass one codeKey in CodeKeyIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("code_key IN (?)", codeKey))
}

// CodeKeyLike is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeKeyLike(codeKey string) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("code_key LIKE ?", codeKey))
}

// CodeKeyLt is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeKeyLt(codeKey string) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("code_key < ?", codeKey))
}

// CodeKeyLte is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeKeyLte(codeKey string) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("code_key <= ?", codeKey))
}

// CodeKeyNe is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeKeyNe(codeKey string) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("code_key != ?", codeKey))
}

// CodeKeyNotIn is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeKeyNotIn(codeKey ...string) VerifyCodeQuerySet {
	if len(codeKey) == 0 {
		qs.db.AddError(errors.New("must at least pass one codeKey in CodeKeyNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("code_key NOT IN (?)", codeKey))
}

// CodeKeyNotlike is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeKeyNotlike(codeKey string) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("code_key NOT LIKE ?", codeKey))
}

// CodeLike is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeLike(code string) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("code LIKE ?", code))
}

// CodeLt is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeLt(code string) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("code < ?", code))
}

// CodeLte is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeLte(code string) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("code <= ?", code))
}

// CodeNe is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeNe(code string) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("code != ?", code))
}

// CodeNotIn is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeNotIn(code ...string) VerifyCodeQuerySet {
	if len(code) == 0 {
		qs.db.AddError(errors.New("must at least pass one code in CodeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("code NOT IN (?)", code))
}

// CodeNotlike is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CodeNotlike(code string) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("code NOT LIKE ?", code))
}

// Count is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CreatedAtEq(createdAt time.Time) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CreatedAtGt(createdAt time.Time) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CreatedAtGte(createdAt time.Time) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CreatedAtLt(createdAt time.Time) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CreatedAtLte(createdAt time.Time) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) CreatedAtNe(createdAt time.Time) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) Delete() error {
	return qs.db.Delete(&VerifyCode{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&VerifyCode{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&VerifyCode{})
	return db.RowsAffected, db.Error
}

// ExpireTimeEq is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) ExpireTimeEq(expireTime time.Time) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("expire_time = ?", expireTime))
}

// ExpireTimeGt is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) ExpireTimeGt(expireTime time.Time) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("expire_time > ?", expireTime))
}

// ExpireTimeGte is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) ExpireTimeGte(expireTime time.Time) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("expire_time >= ?", expireTime))
}

// ExpireTimeLt is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) ExpireTimeLt(expireTime time.Time) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("expire_time < ?", expireTime))
}

// ExpireTimeLte is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) ExpireTimeLte(expireTime time.Time) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("expire_time <= ?", expireTime))
}

// ExpireTimeNe is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) ExpireTimeNe(expireTime time.Time) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("expire_time != ?", expireTime))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) GetUpdater() VerifyCodeUpdater {
	return NewVerifyCodeUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) IDEq(ID ID) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) IDGt(ID ID) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) IDGte(ID ID) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) IDIn(ID ...ID) VerifyCodeQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) IDLt(ID ID) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) IDLte(ID ID) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) IDNe(ID ID) VerifyCodeQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) IDNotIn(ID ...ID) VerifyCodeQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) Limit(limit int) VerifyCodeQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) Offset(offset int) VerifyCodeQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs VerifyCodeQuerySet) One(ret *VerifyCode) error {
	return qs.db.First(ret).Error
}

// OrderAscByCode is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) OrderAscByCode() VerifyCodeQuerySet {
	return qs.w(qs.db.Order("code ASC"))
}

// OrderAscByCodeKey is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) OrderAscByCodeKey() VerifyCodeQuerySet {
	return qs.w(qs.db.Order("code_key ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) OrderAscByCreatedAt() VerifyCodeQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByExpireTime is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) OrderAscByExpireTime() VerifyCodeQuerySet {
	return qs.w(qs.db.Order("expire_time ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) OrderAscByID() VerifyCodeQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderDescByCode is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) OrderDescByCode() VerifyCodeQuerySet {
	return qs.w(qs.db.Order("code DESC"))
}

// OrderDescByCodeKey is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) OrderDescByCodeKey() VerifyCodeQuerySet {
	return qs.w(qs.db.Order("code_key DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) OrderDescByCreatedAt() VerifyCodeQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByExpireTime is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) OrderDescByExpireTime() VerifyCodeQuerySet {
	return qs.w(qs.db.Order("expire_time DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs VerifyCodeQuerySet) OrderDescByID() VerifyCodeQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// SetCode is an autogenerated method
// nolint: dupl
func (u VerifyCodeUpdater) SetCode(code string) VerifyCodeUpdater {
	u.fields[string(VerifyCodeDBSchema.Code)] = code
	return u
}

// SetCodeKey is an autogenerated method
// nolint: dupl
func (u VerifyCodeUpdater) SetCodeKey(codeKey string) VerifyCodeUpdater {
	u.fields[string(VerifyCodeDBSchema.CodeKey)] = codeKey
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u VerifyCodeUpdater) SetCreatedAt(createdAt time.Time) VerifyCodeUpdater {
	u.fields[string(VerifyCodeDBSchema.CreatedAt)] = createdAt
	return u
}

// SetExpireTime is an autogenerated method
// nolint: dupl
func (u VerifyCodeUpdater) SetExpireTime(expireTime time.Time) VerifyCodeUpdater {
	u.fields[string(VerifyCodeDBSchema.ExpireTime)] = expireTime
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u VerifyCodeUpdater) SetID(ID ID) VerifyCodeUpdater {
	u.fields[string(VerifyCodeDBSchema.ID)] = ID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u VerifyCodeUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u VerifyCodeUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set VerifyCodeQuerySet

// ===== BEGIN of VerifyCode modifiers

// VerifyCodeDBSchemaField describes database schema field. It requires for method 'Update'
type VerifyCodeDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f VerifyCodeDBSchemaField) String() string {
	return string(f)
}

// VerifyCodeDBSchema stores db field names of VerifyCode
var VerifyCodeDBSchema = struct {
	ID         VerifyCodeDBSchemaField
	CreatedAt  VerifyCodeDBSchemaField
	CodeKey    VerifyCodeDBSchemaField
	ExpireTime VerifyCodeDBSchemaField
	Code       VerifyCodeDBSchemaField
}{

	ID:         VerifyCodeDBSchemaField("id"),
	CreatedAt:  VerifyCodeDBSchemaField("created_at"),
	CodeKey:    VerifyCodeDBSchemaField("code_key"),
	ExpireTime: VerifyCodeDBSchemaField("expire_time"),
	Code:       VerifyCodeDBSchemaField("code"),
}

// Update updates VerifyCode fields by primary key
// nolint: dupl
func (o *VerifyCode) Update(db *gorm.DB, fields ...VerifyCodeDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":          o.ID,
		"created_at":  o.CreatedAt,
		"code_key":    o.CodeKey,
		"expire_time": o.ExpireTime,
		"code":        o.Code,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update VerifyCode %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// VerifyCodeUpdater is an VerifyCode updates manager
type VerifyCodeUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewVerifyCodeUpdater creates new VerifyCode updater
// nolint: dupl
func NewVerifyCodeUpdater(db *gorm.DB) VerifyCodeUpdater {
	return VerifyCodeUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&VerifyCode{}),
	}
}

// ===== END of VerifyCode modifiers

// ===== BEGIN of query set ZoneQuerySet

// ZoneQuerySet is an queryset type for Zone
type ZoneQuerySet struct {
	db *gorm.DB
}

// NewZoneQuerySet constructs new ZoneQuerySet
func NewZoneQuerySet(db *gorm.DB) ZoneQuerySet {
	return ZoneQuerySet{
		db: db.Model(&Zone{}),
	}
}

func (qs ZoneQuerySet) w(db *gorm.DB) ZoneQuerySet {
	return NewZoneQuerySet(db)
}

func (qs ZoneQuerySet) Select(fields ...ZoneDBSchemaField) ZoneQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Zone) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Zone) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) All(ret *[]Zone) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) CreatedAtEq(createdAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) CreatedAtGt(createdAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) CreatedAtGte(createdAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) CreatedAtLt(createdAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) CreatedAtLte(createdAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) CreatedAtNe(createdAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) Delete() error {
	return qs.db.Delete(&Zone{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Zone{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Zone{})
	return db.RowsAffected, db.Error
}

// DisplayNameEq is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameEq(displayName string) ZoneQuerySet {
	return qs.w(qs.db.Where("display_name = ?", displayName))
}

// DisplayNameGt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameGt(displayName string) ZoneQuerySet {
	return qs.w(qs.db.Where("display_name > ?", displayName))
}

// DisplayNameGte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameGte(displayName string) ZoneQuerySet {
	return qs.w(qs.db.Where("display_name >= ?", displayName))
}

// DisplayNameIn is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameIn(displayName ...string) ZoneQuerySet {
	if len(displayName) == 0 {
		qs.db.AddError(errors.New("must at least pass one displayName in DisplayNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("display_name IN (?)", displayName))
}

// DisplayNameLike is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameLike(displayName string) ZoneQuerySet {
	return qs.w(qs.db.Where("display_name LIKE ?", displayName))
}

// DisplayNameLt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameLt(displayName string) ZoneQuerySet {
	return qs.w(qs.db.Where("display_name < ?", displayName))
}

// DisplayNameLte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameLte(displayName string) ZoneQuerySet {
	return qs.w(qs.db.Where("display_name <= ?", displayName))
}

// DisplayNameNe is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameNe(displayName string) ZoneQuerySet {
	return qs.w(qs.db.Where("display_name != ?", displayName))
}

// DisplayNameNotIn is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameNotIn(displayName ...string) ZoneQuerySet {
	if len(displayName) == 0 {
		qs.db.AddError(errors.New("must at least pass one displayName in DisplayNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("display_name NOT IN (?)", displayName))
}

// DisplayNameNotlike is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameNotlike(displayName string) ZoneQuerySet {
	return qs.w(qs.db.Where("display_name NOT LIKE ?", displayName))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) GetUpdater() ZoneUpdater {
	return NewZoneUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) IDEq(ID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) IDGt(ID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) IDGte(ID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) IDIn(ID ...ID) ZoneQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) IDLt(ID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) IDLte(ID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) IDNe(ID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) IDNotIn(ID ...ID) ZoneQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) Limit(limit int) ZoneQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameEq(name string) ZoneQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameGt(name string) ZoneQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameGte(name string) ZoneQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameIn(name ...string) ZoneQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameLike(name string) ZoneQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameLt(name string) ZoneQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameLte(name string) ZoneQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameNe(name string) ZoneQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameNotIn(name ...string) ZoneQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameNotlike(name string) ZoneQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) Offset(offset int) ZoneQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ZoneQuerySet) One(ret *Zone) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderAscByCreatedAt() ZoneQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDisplayName is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderAscByDisplayName() ZoneQuerySet {
	return qs.w(qs.db.Order("display_name ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderAscByID() ZoneQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderAscByName() ZoneQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByRegionID is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderAscByRegionID() ZoneQuerySet {
	return qs.w(qs.db.Order("region_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderAscByUpdatedAt() ZoneQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderDescByCreatedAt() ZoneQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDisplayName is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderDescByDisplayName() ZoneQuerySet {
	return qs.w(qs.db.Order("display_name DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderDescByID() ZoneQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderDescByName() ZoneQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByRegionID is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderDescByRegionID() ZoneQuerySet {
	return qs.w(qs.db.Order("region_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderDescByUpdatedAt() ZoneQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadRegion is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) PreloadRegion() ZoneQuerySet {
	return qs.w(qs.db.Preload("Region"))
}

// RegionIDEq is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIDEq(regionID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("region_id = ?", regionID))
}

// RegionIDGt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIDGt(regionID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("region_id > ?", regionID))
}

// RegionIDGte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIDGte(regionID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("region_id >= ?", regionID))
}

// RegionIDIn is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIDIn(regionID ...ID) ZoneQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id IN (?)", regionID))
}

// RegionIDLt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIDLt(regionID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("region_id < ?", regionID))
}

// RegionIDLte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIDLte(regionID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("region_id <= ?", regionID))
}

// RegionIDNe is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIDNe(regionID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("region_id != ?", regionID))
}

// RegionIDNotIn is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIDNotIn(regionID ...ID) ZoneQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id NOT IN (?)", regionID))
}

// RegionIsNotNull is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIsNotNull() ZoneQuerySet {
	return qs.w(qs.db.Where("region IS NOT NULL"))
}

// RegionIsNull is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIsNull() ZoneQuerySet {
	return qs.w(qs.db.Where("region IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) UpdatedAtEq(updatedAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) UpdatedAtGt(updatedAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) UpdatedAtGte(updatedAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) UpdatedAtIsNotNull() ZoneQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) UpdatedAtIsNull() ZoneQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) UpdatedAtLt(updatedAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) UpdatedAtLte(updatedAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) UpdatedAtNe(updatedAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ZoneUpdater) SetCreatedAt(createdAt time.Time) ZoneUpdater {
	u.fields[string(ZoneDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDisplayName is an autogenerated method
// nolint: dupl
func (u ZoneUpdater) SetDisplayName(displayName string) ZoneUpdater {
	u.fields[string(ZoneDBSchema.DisplayName)] = displayName
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ZoneUpdater) SetID(ID ID) ZoneUpdater {
	u.fields[string(ZoneDBSchema.ID)] = ID
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u ZoneUpdater) SetName(name string) ZoneUpdater {
	u.fields[string(ZoneDBSchema.Name)] = name
	return u
}

// SetRegionID is an autogenerated method
// nolint: dupl
func (u ZoneUpdater) SetRegionID(regionID ID) ZoneUpdater {
	u.fields[string(ZoneDBSchema.RegionID)] = regionID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ZoneUpdater) SetUpdatedAt(updatedAt *time.Time) ZoneUpdater {
	u.fields[string(ZoneDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ZoneUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ZoneUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ZoneQuerySet

// ===== BEGIN of Zone modifiers

// ZoneDBSchemaField describes database schema field. It requires for method 'Update'
type ZoneDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ZoneDBSchemaField) String() string {
	return string(f)
}

// ZoneDBSchema stores db field names of Zone
var ZoneDBSchema = struct {
	ID          ZoneDBSchemaField
	CreatedAt   ZoneDBSchemaField
	UpdatedAt   ZoneDBSchemaField
	Name        ZoneDBSchemaField
	DisplayName ZoneDBSchemaField
	RegionID    ZoneDBSchemaField
	Region      ZoneDBSchemaField
}{

	ID:          ZoneDBSchemaField("id"),
	CreatedAt:   ZoneDBSchemaField("created_at"),
	UpdatedAt:   ZoneDBSchemaField("updated_at"),
	Name:        ZoneDBSchemaField("name"),
	DisplayName: ZoneDBSchemaField("display_name"),
	RegionID:    ZoneDBSchemaField("region_id"),
	Region:      ZoneDBSchemaField("region"),
}

// Update updates Zone fields by primary key
// nolint: dupl
func (o *Zone) Update(db *gorm.DB, fields ...ZoneDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":           o.ID,
		"created_at":   o.CreatedAt,
		"updated_at":   o.UpdatedAt,
		"name":         o.Name,
		"display_name": o.DisplayName,
		"region_id":    o.RegionID,
		"region":       o.Region,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Zone %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ZoneUpdater is an Zone updates manager
type ZoneUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewZoneUpdater creates new Zone updater
// nolint: dupl
func NewZoneUpdater(db *gorm.DB) ZoneUpdater {
	return ZoneUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Zone{}),
	}
}

// ===== END of Zone modifiers

// ===== END of all query sets
