// Code generated by ent, DO NOT EDIT.

package comment

import (
	"time"

	"entgo.io/ent/dialect/sql"
	"entgo.io/ent/dialect/sql/sqlgraph"
	"github.com/anzhiyu-c/anheyu-app/ent/predicate"
)

// ID filters vertices based on their ID field.
func ID(id uint) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldID, id))
}

// IDEQ applies the EQ predicate on the ID field.
func IDEQ(id uint) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldID, id))
}

// IDNEQ applies the NEQ predicate on the ID field.
func IDNEQ(id uint) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldID, id))
}

// IDIn applies the In predicate on the ID field.
func IDIn(ids ...uint) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldID, ids...))
}

// IDNotIn applies the NotIn predicate on the ID field.
func IDNotIn(ids ...uint) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldID, ids...))
}

// IDGT applies the GT predicate on the ID field.
func IDGT(id uint) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldID, id))
}

// IDGTE applies the GTE predicate on the ID field.
func IDGTE(id uint) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldID, id))
}

// IDLT applies the LT predicate on the ID field.
func IDLT(id uint) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldID, id))
}

// IDLTE applies the LTE predicate on the ID field.
func IDLTE(id uint) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldID, id))
}

// DeletedAt applies equality check predicate on the "deleted_at" field. It's identical to DeletedAtEQ.
func DeletedAt(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldDeletedAt, v))
}

// CreatedAt applies equality check predicate on the "created_at" field. It's identical to CreatedAtEQ.
func CreatedAt(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldCreatedAt, v))
}

// UpdatedAt applies equality check predicate on the "updated_at" field. It's identical to UpdatedAtEQ.
func UpdatedAt(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldUpdatedAt, v))
}

// TargetPath applies equality check predicate on the "target_path" field. It's identical to TargetPathEQ.
func TargetPath(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldTargetPath, v))
}

// TargetTitle applies equality check predicate on the "target_title" field. It's identical to TargetTitleEQ.
func TargetTitle(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldTargetTitle, v))
}

// UserID applies equality check predicate on the "user_id" field. It's identical to UserIDEQ.
func UserID(v uint) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldUserID, v))
}

// ParentID applies equality check predicate on the "parent_id" field. It's identical to ParentIDEQ.
func ParentID(v uint) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldParentID, v))
}

// Nickname applies equality check predicate on the "nickname" field. It's identical to NicknameEQ.
func Nickname(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldNickname, v))
}

// Email applies equality check predicate on the "email" field. It's identical to EmailEQ.
func Email(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldEmail, v))
}

// EmailMd5 applies equality check predicate on the "email_md5" field. It's identical to EmailMd5EQ.
func EmailMd5(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldEmailMd5, v))
}

// Website applies equality check predicate on the "website" field. It's identical to WebsiteEQ.
func Website(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldWebsite, v))
}

// Content applies equality check predicate on the "content" field. It's identical to ContentEQ.
func Content(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldContent, v))
}

// ContentHTML applies equality check predicate on the "content_html" field. It's identical to ContentHTMLEQ.
func ContentHTML(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldContentHTML, v))
}

// Status applies equality check predicate on the "status" field. It's identical to StatusEQ.
func Status(v int) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldStatus, v))
}

// IsAdminComment applies equality check predicate on the "is_admin_comment" field. It's identical to IsAdminCommentEQ.
func IsAdminComment(v bool) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldIsAdminComment, v))
}

// IsAnonymous applies equality check predicate on the "is_anonymous" field. It's identical to IsAnonymousEQ.
func IsAnonymous(v bool) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldIsAnonymous, v))
}

// AllowNotification applies equality check predicate on the "allow_notification" field. It's identical to AllowNotificationEQ.
func AllowNotification(v bool) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldAllowNotification, v))
}

// UserAgent applies equality check predicate on the "user_agent" field. It's identical to UserAgentEQ.
func UserAgent(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldUserAgent, v))
}

// IPAddress applies equality check predicate on the "ip_address" field. It's identical to IPAddressEQ.
func IPAddress(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldIPAddress, v))
}

// IPLocation applies equality check predicate on the "ip_location" field. It's identical to IPLocationEQ.
func IPLocation(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldIPLocation, v))
}

// LikeCount applies equality check predicate on the "like_count" field. It's identical to LikeCountEQ.
func LikeCount(v int) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldLikeCount, v))
}

// PinnedAt applies equality check predicate on the "pinned_at" field. It's identical to PinnedAtEQ.
func PinnedAt(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldPinnedAt, v))
}

// DeletedAtEQ applies the EQ predicate on the "deleted_at" field.
func DeletedAtEQ(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldDeletedAt, v))
}

// DeletedAtNEQ applies the NEQ predicate on the "deleted_at" field.
func DeletedAtNEQ(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldDeletedAt, v))
}

// DeletedAtIn applies the In predicate on the "deleted_at" field.
func DeletedAtIn(vs ...time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldDeletedAt, vs...))
}

// DeletedAtNotIn applies the NotIn predicate on the "deleted_at" field.
func DeletedAtNotIn(vs ...time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldDeletedAt, vs...))
}

// DeletedAtGT applies the GT predicate on the "deleted_at" field.
func DeletedAtGT(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldDeletedAt, v))
}

// DeletedAtGTE applies the GTE predicate on the "deleted_at" field.
func DeletedAtGTE(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldDeletedAt, v))
}

// DeletedAtLT applies the LT predicate on the "deleted_at" field.
func DeletedAtLT(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldDeletedAt, v))
}

// DeletedAtLTE applies the LTE predicate on the "deleted_at" field.
func DeletedAtLTE(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldDeletedAt, v))
}

// DeletedAtIsNil applies the IsNil predicate on the "deleted_at" field.
func DeletedAtIsNil() predicate.Comment {
	return predicate.Comment(sql.FieldIsNull(FieldDeletedAt))
}

// DeletedAtNotNil applies the NotNil predicate on the "deleted_at" field.
func DeletedAtNotNil() predicate.Comment {
	return predicate.Comment(sql.FieldNotNull(FieldDeletedAt))
}

// CreatedAtEQ applies the EQ predicate on the "created_at" field.
func CreatedAtEQ(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldCreatedAt, v))
}

// CreatedAtNEQ applies the NEQ predicate on the "created_at" field.
func CreatedAtNEQ(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldCreatedAt, v))
}

// CreatedAtIn applies the In predicate on the "created_at" field.
func CreatedAtIn(vs ...time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldCreatedAt, vs...))
}

// CreatedAtNotIn applies the NotIn predicate on the "created_at" field.
func CreatedAtNotIn(vs ...time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldCreatedAt, vs...))
}

// CreatedAtGT applies the GT predicate on the "created_at" field.
func CreatedAtGT(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldCreatedAt, v))
}

// CreatedAtGTE applies the GTE predicate on the "created_at" field.
func CreatedAtGTE(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldCreatedAt, v))
}

// CreatedAtLT applies the LT predicate on the "created_at" field.
func CreatedAtLT(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldCreatedAt, v))
}

// CreatedAtLTE applies the LTE predicate on the "created_at" field.
func CreatedAtLTE(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldCreatedAt, v))
}

// UpdatedAtEQ applies the EQ predicate on the "updated_at" field.
func UpdatedAtEQ(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldUpdatedAt, v))
}

// UpdatedAtNEQ applies the NEQ predicate on the "updated_at" field.
func UpdatedAtNEQ(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldUpdatedAt, v))
}

// UpdatedAtIn applies the In predicate on the "updated_at" field.
func UpdatedAtIn(vs ...time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldUpdatedAt, vs...))
}

// UpdatedAtNotIn applies the NotIn predicate on the "updated_at" field.
func UpdatedAtNotIn(vs ...time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldUpdatedAt, vs...))
}

// UpdatedAtGT applies the GT predicate on the "updated_at" field.
func UpdatedAtGT(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldUpdatedAt, v))
}

// UpdatedAtGTE applies the GTE predicate on the "updated_at" field.
func UpdatedAtGTE(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldUpdatedAt, v))
}

// UpdatedAtLT applies the LT predicate on the "updated_at" field.
func UpdatedAtLT(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldUpdatedAt, v))
}

// UpdatedAtLTE applies the LTE predicate on the "updated_at" field.
func UpdatedAtLTE(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldUpdatedAt, v))
}

// TargetPathEQ applies the EQ predicate on the "target_path" field.
func TargetPathEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldTargetPath, v))
}

// TargetPathNEQ applies the NEQ predicate on the "target_path" field.
func TargetPathNEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldTargetPath, v))
}

// TargetPathIn applies the In predicate on the "target_path" field.
func TargetPathIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldTargetPath, vs...))
}

// TargetPathNotIn applies the NotIn predicate on the "target_path" field.
func TargetPathNotIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldTargetPath, vs...))
}

// TargetPathGT applies the GT predicate on the "target_path" field.
func TargetPathGT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldTargetPath, v))
}

// TargetPathGTE applies the GTE predicate on the "target_path" field.
func TargetPathGTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldTargetPath, v))
}

// TargetPathLT applies the LT predicate on the "target_path" field.
func TargetPathLT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldTargetPath, v))
}

// TargetPathLTE applies the LTE predicate on the "target_path" field.
func TargetPathLTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldTargetPath, v))
}

// TargetPathContains applies the Contains predicate on the "target_path" field.
func TargetPathContains(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContains(FieldTargetPath, v))
}

// TargetPathHasPrefix applies the HasPrefix predicate on the "target_path" field.
func TargetPathHasPrefix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasPrefix(FieldTargetPath, v))
}

// TargetPathHasSuffix applies the HasSuffix predicate on the "target_path" field.
func TargetPathHasSuffix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasSuffix(FieldTargetPath, v))
}

// TargetPathEqualFold applies the EqualFold predicate on the "target_path" field.
func TargetPathEqualFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEqualFold(FieldTargetPath, v))
}

// TargetPathContainsFold applies the ContainsFold predicate on the "target_path" field.
func TargetPathContainsFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContainsFold(FieldTargetPath, v))
}

// TargetTitleEQ applies the EQ predicate on the "target_title" field.
func TargetTitleEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldTargetTitle, v))
}

// TargetTitleNEQ applies the NEQ predicate on the "target_title" field.
func TargetTitleNEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldTargetTitle, v))
}

// TargetTitleIn applies the In predicate on the "target_title" field.
func TargetTitleIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldTargetTitle, vs...))
}

// TargetTitleNotIn applies the NotIn predicate on the "target_title" field.
func TargetTitleNotIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldTargetTitle, vs...))
}

// TargetTitleGT applies the GT predicate on the "target_title" field.
func TargetTitleGT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldTargetTitle, v))
}

// TargetTitleGTE applies the GTE predicate on the "target_title" field.
func TargetTitleGTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldTargetTitle, v))
}

// TargetTitleLT applies the LT predicate on the "target_title" field.
func TargetTitleLT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldTargetTitle, v))
}

// TargetTitleLTE applies the LTE predicate on the "target_title" field.
func TargetTitleLTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldTargetTitle, v))
}

// TargetTitleContains applies the Contains predicate on the "target_title" field.
func TargetTitleContains(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContains(FieldTargetTitle, v))
}

// TargetTitleHasPrefix applies the HasPrefix predicate on the "target_title" field.
func TargetTitleHasPrefix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasPrefix(FieldTargetTitle, v))
}

// TargetTitleHasSuffix applies the HasSuffix predicate on the "target_title" field.
func TargetTitleHasSuffix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasSuffix(FieldTargetTitle, v))
}

// TargetTitleIsNil applies the IsNil predicate on the "target_title" field.
func TargetTitleIsNil() predicate.Comment {
	return predicate.Comment(sql.FieldIsNull(FieldTargetTitle))
}

// TargetTitleNotNil applies the NotNil predicate on the "target_title" field.
func TargetTitleNotNil() predicate.Comment {
	return predicate.Comment(sql.FieldNotNull(FieldTargetTitle))
}

// TargetTitleEqualFold applies the EqualFold predicate on the "target_title" field.
func TargetTitleEqualFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEqualFold(FieldTargetTitle, v))
}

// TargetTitleContainsFold applies the ContainsFold predicate on the "target_title" field.
func TargetTitleContainsFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContainsFold(FieldTargetTitle, v))
}

// UserIDEQ applies the EQ predicate on the "user_id" field.
func UserIDEQ(v uint) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldUserID, v))
}

// UserIDNEQ applies the NEQ predicate on the "user_id" field.
func UserIDNEQ(v uint) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldUserID, v))
}

// UserIDIn applies the In predicate on the "user_id" field.
func UserIDIn(vs ...uint) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldUserID, vs...))
}

// UserIDNotIn applies the NotIn predicate on the "user_id" field.
func UserIDNotIn(vs ...uint) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldUserID, vs...))
}

// UserIDIsNil applies the IsNil predicate on the "user_id" field.
func UserIDIsNil() predicate.Comment {
	return predicate.Comment(sql.FieldIsNull(FieldUserID))
}

// UserIDNotNil applies the NotNil predicate on the "user_id" field.
func UserIDNotNil() predicate.Comment {
	return predicate.Comment(sql.FieldNotNull(FieldUserID))
}

// ParentIDEQ applies the EQ predicate on the "parent_id" field.
func ParentIDEQ(v uint) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldParentID, v))
}

// ParentIDNEQ applies the NEQ predicate on the "parent_id" field.
func ParentIDNEQ(v uint) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldParentID, v))
}

// ParentIDIn applies the In predicate on the "parent_id" field.
func ParentIDIn(vs ...uint) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldParentID, vs...))
}

// ParentIDNotIn applies the NotIn predicate on the "parent_id" field.
func ParentIDNotIn(vs ...uint) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldParentID, vs...))
}

// ParentIDIsNil applies the IsNil predicate on the "parent_id" field.
func ParentIDIsNil() predicate.Comment {
	return predicate.Comment(sql.FieldIsNull(FieldParentID))
}

// ParentIDNotNil applies the NotNil predicate on the "parent_id" field.
func ParentIDNotNil() predicate.Comment {
	return predicate.Comment(sql.FieldNotNull(FieldParentID))
}

// NicknameEQ applies the EQ predicate on the "nickname" field.
func NicknameEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldNickname, v))
}

// NicknameNEQ applies the NEQ predicate on the "nickname" field.
func NicknameNEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldNickname, v))
}

// NicknameIn applies the In predicate on the "nickname" field.
func NicknameIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldNickname, vs...))
}

// NicknameNotIn applies the NotIn predicate on the "nickname" field.
func NicknameNotIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldNickname, vs...))
}

// NicknameGT applies the GT predicate on the "nickname" field.
func NicknameGT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldNickname, v))
}

// NicknameGTE applies the GTE predicate on the "nickname" field.
func NicknameGTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldNickname, v))
}

// NicknameLT applies the LT predicate on the "nickname" field.
func NicknameLT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldNickname, v))
}

// NicknameLTE applies the LTE predicate on the "nickname" field.
func NicknameLTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldNickname, v))
}

// NicknameContains applies the Contains predicate on the "nickname" field.
func NicknameContains(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContains(FieldNickname, v))
}

// NicknameHasPrefix applies the HasPrefix predicate on the "nickname" field.
func NicknameHasPrefix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasPrefix(FieldNickname, v))
}

// NicknameHasSuffix applies the HasSuffix predicate on the "nickname" field.
func NicknameHasSuffix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasSuffix(FieldNickname, v))
}

// NicknameEqualFold applies the EqualFold predicate on the "nickname" field.
func NicknameEqualFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEqualFold(FieldNickname, v))
}

// NicknameContainsFold applies the ContainsFold predicate on the "nickname" field.
func NicknameContainsFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContainsFold(FieldNickname, v))
}

// EmailEQ applies the EQ predicate on the "email" field.
func EmailEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldEmail, v))
}

// EmailNEQ applies the NEQ predicate on the "email" field.
func EmailNEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldEmail, v))
}

// EmailIn applies the In predicate on the "email" field.
func EmailIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldEmail, vs...))
}

// EmailNotIn applies the NotIn predicate on the "email" field.
func EmailNotIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldEmail, vs...))
}

// EmailGT applies the GT predicate on the "email" field.
func EmailGT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldEmail, v))
}

// EmailGTE applies the GTE predicate on the "email" field.
func EmailGTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldEmail, v))
}

// EmailLT applies the LT predicate on the "email" field.
func EmailLT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldEmail, v))
}

// EmailLTE applies the LTE predicate on the "email" field.
func EmailLTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldEmail, v))
}

// EmailContains applies the Contains predicate on the "email" field.
func EmailContains(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContains(FieldEmail, v))
}

// EmailHasPrefix applies the HasPrefix predicate on the "email" field.
func EmailHasPrefix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasPrefix(FieldEmail, v))
}

// EmailHasSuffix applies the HasSuffix predicate on the "email" field.
func EmailHasSuffix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasSuffix(FieldEmail, v))
}

// EmailIsNil applies the IsNil predicate on the "email" field.
func EmailIsNil() predicate.Comment {
	return predicate.Comment(sql.FieldIsNull(FieldEmail))
}

// EmailNotNil applies the NotNil predicate on the "email" field.
func EmailNotNil() predicate.Comment {
	return predicate.Comment(sql.FieldNotNull(FieldEmail))
}

// EmailEqualFold applies the EqualFold predicate on the "email" field.
func EmailEqualFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEqualFold(FieldEmail, v))
}

// EmailContainsFold applies the ContainsFold predicate on the "email" field.
func EmailContainsFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContainsFold(FieldEmail, v))
}

// EmailMd5EQ applies the EQ predicate on the "email_md5" field.
func EmailMd5EQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldEmailMd5, v))
}

// EmailMd5NEQ applies the NEQ predicate on the "email_md5" field.
func EmailMd5NEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldEmailMd5, v))
}

// EmailMd5In applies the In predicate on the "email_md5" field.
func EmailMd5In(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldEmailMd5, vs...))
}

// EmailMd5NotIn applies the NotIn predicate on the "email_md5" field.
func EmailMd5NotIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldEmailMd5, vs...))
}

// EmailMd5GT applies the GT predicate on the "email_md5" field.
func EmailMd5GT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldEmailMd5, v))
}

// EmailMd5GTE applies the GTE predicate on the "email_md5" field.
func EmailMd5GTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldEmailMd5, v))
}

// EmailMd5LT applies the LT predicate on the "email_md5" field.
func EmailMd5LT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldEmailMd5, v))
}

// EmailMd5LTE applies the LTE predicate on the "email_md5" field.
func EmailMd5LTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldEmailMd5, v))
}

// EmailMd5Contains applies the Contains predicate on the "email_md5" field.
func EmailMd5Contains(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContains(FieldEmailMd5, v))
}

// EmailMd5HasPrefix applies the HasPrefix predicate on the "email_md5" field.
func EmailMd5HasPrefix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasPrefix(FieldEmailMd5, v))
}

// EmailMd5HasSuffix applies the HasSuffix predicate on the "email_md5" field.
func EmailMd5HasSuffix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasSuffix(FieldEmailMd5, v))
}

// EmailMd5EqualFold applies the EqualFold predicate on the "email_md5" field.
func EmailMd5EqualFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEqualFold(FieldEmailMd5, v))
}

// EmailMd5ContainsFold applies the ContainsFold predicate on the "email_md5" field.
func EmailMd5ContainsFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContainsFold(FieldEmailMd5, v))
}

// WebsiteEQ applies the EQ predicate on the "website" field.
func WebsiteEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldWebsite, v))
}

// WebsiteNEQ applies the NEQ predicate on the "website" field.
func WebsiteNEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldWebsite, v))
}

// WebsiteIn applies the In predicate on the "website" field.
func WebsiteIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldWebsite, vs...))
}

// WebsiteNotIn applies the NotIn predicate on the "website" field.
func WebsiteNotIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldWebsite, vs...))
}

// WebsiteGT applies the GT predicate on the "website" field.
func WebsiteGT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldWebsite, v))
}

// WebsiteGTE applies the GTE predicate on the "website" field.
func WebsiteGTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldWebsite, v))
}

// WebsiteLT applies the LT predicate on the "website" field.
func WebsiteLT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldWebsite, v))
}

// WebsiteLTE applies the LTE predicate on the "website" field.
func WebsiteLTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldWebsite, v))
}

// WebsiteContains applies the Contains predicate on the "website" field.
func WebsiteContains(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContains(FieldWebsite, v))
}

// WebsiteHasPrefix applies the HasPrefix predicate on the "website" field.
func WebsiteHasPrefix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasPrefix(FieldWebsite, v))
}

// WebsiteHasSuffix applies the HasSuffix predicate on the "website" field.
func WebsiteHasSuffix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasSuffix(FieldWebsite, v))
}

// WebsiteIsNil applies the IsNil predicate on the "website" field.
func WebsiteIsNil() predicate.Comment {
	return predicate.Comment(sql.FieldIsNull(FieldWebsite))
}

// WebsiteNotNil applies the NotNil predicate on the "website" field.
func WebsiteNotNil() predicate.Comment {
	return predicate.Comment(sql.FieldNotNull(FieldWebsite))
}

// WebsiteEqualFold applies the EqualFold predicate on the "website" field.
func WebsiteEqualFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEqualFold(FieldWebsite, v))
}

// WebsiteContainsFold applies the ContainsFold predicate on the "website" field.
func WebsiteContainsFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContainsFold(FieldWebsite, v))
}

// ContentEQ applies the EQ predicate on the "content" field.
func ContentEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldContent, v))
}

// ContentNEQ applies the NEQ predicate on the "content" field.
func ContentNEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldContent, v))
}

// ContentIn applies the In predicate on the "content" field.
func ContentIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldContent, vs...))
}

// ContentNotIn applies the NotIn predicate on the "content" field.
func ContentNotIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldContent, vs...))
}

// ContentGT applies the GT predicate on the "content" field.
func ContentGT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldContent, v))
}

// ContentGTE applies the GTE predicate on the "content" field.
func ContentGTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldContent, v))
}

// ContentLT applies the LT predicate on the "content" field.
func ContentLT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldContent, v))
}

// ContentLTE applies the LTE predicate on the "content" field.
func ContentLTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldContent, v))
}

// ContentContains applies the Contains predicate on the "content" field.
func ContentContains(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContains(FieldContent, v))
}

// ContentHasPrefix applies the HasPrefix predicate on the "content" field.
func ContentHasPrefix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasPrefix(FieldContent, v))
}

// ContentHasSuffix applies the HasSuffix predicate on the "content" field.
func ContentHasSuffix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasSuffix(FieldContent, v))
}

// ContentEqualFold applies the EqualFold predicate on the "content" field.
func ContentEqualFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEqualFold(FieldContent, v))
}

// ContentContainsFold applies the ContainsFold predicate on the "content" field.
func ContentContainsFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContainsFold(FieldContent, v))
}

// ContentHTMLEQ applies the EQ predicate on the "content_html" field.
func ContentHTMLEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldContentHTML, v))
}

// ContentHTMLNEQ applies the NEQ predicate on the "content_html" field.
func ContentHTMLNEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldContentHTML, v))
}

// ContentHTMLIn applies the In predicate on the "content_html" field.
func ContentHTMLIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldContentHTML, vs...))
}

// ContentHTMLNotIn applies the NotIn predicate on the "content_html" field.
func ContentHTMLNotIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldContentHTML, vs...))
}

// ContentHTMLGT applies the GT predicate on the "content_html" field.
func ContentHTMLGT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldContentHTML, v))
}

// ContentHTMLGTE applies the GTE predicate on the "content_html" field.
func ContentHTMLGTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldContentHTML, v))
}

// ContentHTMLLT applies the LT predicate on the "content_html" field.
func ContentHTMLLT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldContentHTML, v))
}

// ContentHTMLLTE applies the LTE predicate on the "content_html" field.
func ContentHTMLLTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldContentHTML, v))
}

// ContentHTMLContains applies the Contains predicate on the "content_html" field.
func ContentHTMLContains(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContains(FieldContentHTML, v))
}

// ContentHTMLHasPrefix applies the HasPrefix predicate on the "content_html" field.
func ContentHTMLHasPrefix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasPrefix(FieldContentHTML, v))
}

// ContentHTMLHasSuffix applies the HasSuffix predicate on the "content_html" field.
func ContentHTMLHasSuffix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasSuffix(FieldContentHTML, v))
}

// ContentHTMLEqualFold applies the EqualFold predicate on the "content_html" field.
func ContentHTMLEqualFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEqualFold(FieldContentHTML, v))
}

// ContentHTMLContainsFold applies the ContainsFold predicate on the "content_html" field.
func ContentHTMLContainsFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContainsFold(FieldContentHTML, v))
}

// StatusEQ applies the EQ predicate on the "status" field.
func StatusEQ(v int) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldStatus, v))
}

// StatusNEQ applies the NEQ predicate on the "status" field.
func StatusNEQ(v int) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldStatus, v))
}

// StatusIn applies the In predicate on the "status" field.
func StatusIn(vs ...int) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldStatus, vs...))
}

// StatusNotIn applies the NotIn predicate on the "status" field.
func StatusNotIn(vs ...int) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldStatus, vs...))
}

// StatusGT applies the GT predicate on the "status" field.
func StatusGT(v int) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldStatus, v))
}

// StatusGTE applies the GTE predicate on the "status" field.
func StatusGTE(v int) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldStatus, v))
}

// StatusLT applies the LT predicate on the "status" field.
func StatusLT(v int) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldStatus, v))
}

// StatusLTE applies the LTE predicate on the "status" field.
func StatusLTE(v int) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldStatus, v))
}

// IsAdminCommentEQ applies the EQ predicate on the "is_admin_comment" field.
func IsAdminCommentEQ(v bool) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldIsAdminComment, v))
}

// IsAdminCommentNEQ applies the NEQ predicate on the "is_admin_comment" field.
func IsAdminCommentNEQ(v bool) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldIsAdminComment, v))
}

// IsAnonymousEQ applies the EQ predicate on the "is_anonymous" field.
func IsAnonymousEQ(v bool) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldIsAnonymous, v))
}

// IsAnonymousNEQ applies the NEQ predicate on the "is_anonymous" field.
func IsAnonymousNEQ(v bool) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldIsAnonymous, v))
}

// AllowNotificationEQ applies the EQ predicate on the "allow_notification" field.
func AllowNotificationEQ(v bool) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldAllowNotification, v))
}

// AllowNotificationNEQ applies the NEQ predicate on the "allow_notification" field.
func AllowNotificationNEQ(v bool) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldAllowNotification, v))
}

// UserAgentEQ applies the EQ predicate on the "user_agent" field.
func UserAgentEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldUserAgent, v))
}

// UserAgentNEQ applies the NEQ predicate on the "user_agent" field.
func UserAgentNEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldUserAgent, v))
}

// UserAgentIn applies the In predicate on the "user_agent" field.
func UserAgentIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldUserAgent, vs...))
}

// UserAgentNotIn applies the NotIn predicate on the "user_agent" field.
func UserAgentNotIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldUserAgent, vs...))
}

// UserAgentGT applies the GT predicate on the "user_agent" field.
func UserAgentGT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldUserAgent, v))
}

// UserAgentGTE applies the GTE predicate on the "user_agent" field.
func UserAgentGTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldUserAgent, v))
}

// UserAgentLT applies the LT predicate on the "user_agent" field.
func UserAgentLT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldUserAgent, v))
}

// UserAgentLTE applies the LTE predicate on the "user_agent" field.
func UserAgentLTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldUserAgent, v))
}

// UserAgentContains applies the Contains predicate on the "user_agent" field.
func UserAgentContains(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContains(FieldUserAgent, v))
}

// UserAgentHasPrefix applies the HasPrefix predicate on the "user_agent" field.
func UserAgentHasPrefix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasPrefix(FieldUserAgent, v))
}

// UserAgentHasSuffix applies the HasSuffix predicate on the "user_agent" field.
func UserAgentHasSuffix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasSuffix(FieldUserAgent, v))
}

// UserAgentIsNil applies the IsNil predicate on the "user_agent" field.
func UserAgentIsNil() predicate.Comment {
	return predicate.Comment(sql.FieldIsNull(FieldUserAgent))
}

// UserAgentNotNil applies the NotNil predicate on the "user_agent" field.
func UserAgentNotNil() predicate.Comment {
	return predicate.Comment(sql.FieldNotNull(FieldUserAgent))
}

// UserAgentEqualFold applies the EqualFold predicate on the "user_agent" field.
func UserAgentEqualFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEqualFold(FieldUserAgent, v))
}

// UserAgentContainsFold applies the ContainsFold predicate on the "user_agent" field.
func UserAgentContainsFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContainsFold(FieldUserAgent, v))
}

// IPAddressEQ applies the EQ predicate on the "ip_address" field.
func IPAddressEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldIPAddress, v))
}

// IPAddressNEQ applies the NEQ predicate on the "ip_address" field.
func IPAddressNEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldIPAddress, v))
}

// IPAddressIn applies the In predicate on the "ip_address" field.
func IPAddressIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldIPAddress, vs...))
}

// IPAddressNotIn applies the NotIn predicate on the "ip_address" field.
func IPAddressNotIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldIPAddress, vs...))
}

// IPAddressGT applies the GT predicate on the "ip_address" field.
func IPAddressGT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldIPAddress, v))
}

// IPAddressGTE applies the GTE predicate on the "ip_address" field.
func IPAddressGTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldIPAddress, v))
}

// IPAddressLT applies the LT predicate on the "ip_address" field.
func IPAddressLT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldIPAddress, v))
}

// IPAddressLTE applies the LTE predicate on the "ip_address" field.
func IPAddressLTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldIPAddress, v))
}

// IPAddressContains applies the Contains predicate on the "ip_address" field.
func IPAddressContains(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContains(FieldIPAddress, v))
}

// IPAddressHasPrefix applies the HasPrefix predicate on the "ip_address" field.
func IPAddressHasPrefix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasPrefix(FieldIPAddress, v))
}

// IPAddressHasSuffix applies the HasSuffix predicate on the "ip_address" field.
func IPAddressHasSuffix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasSuffix(FieldIPAddress, v))
}

// IPAddressEqualFold applies the EqualFold predicate on the "ip_address" field.
func IPAddressEqualFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEqualFold(FieldIPAddress, v))
}

// IPAddressContainsFold applies the ContainsFold predicate on the "ip_address" field.
func IPAddressContainsFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContainsFold(FieldIPAddress, v))
}

// IPLocationEQ applies the EQ predicate on the "ip_location" field.
func IPLocationEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldIPLocation, v))
}

// IPLocationNEQ applies the NEQ predicate on the "ip_location" field.
func IPLocationNEQ(v string) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldIPLocation, v))
}

// IPLocationIn applies the In predicate on the "ip_location" field.
func IPLocationIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldIPLocation, vs...))
}

// IPLocationNotIn applies the NotIn predicate on the "ip_location" field.
func IPLocationNotIn(vs ...string) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldIPLocation, vs...))
}

// IPLocationGT applies the GT predicate on the "ip_location" field.
func IPLocationGT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldIPLocation, v))
}

// IPLocationGTE applies the GTE predicate on the "ip_location" field.
func IPLocationGTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldIPLocation, v))
}

// IPLocationLT applies the LT predicate on the "ip_location" field.
func IPLocationLT(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldIPLocation, v))
}

// IPLocationLTE applies the LTE predicate on the "ip_location" field.
func IPLocationLTE(v string) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldIPLocation, v))
}

// IPLocationContains applies the Contains predicate on the "ip_location" field.
func IPLocationContains(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContains(FieldIPLocation, v))
}

// IPLocationHasPrefix applies the HasPrefix predicate on the "ip_location" field.
func IPLocationHasPrefix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasPrefix(FieldIPLocation, v))
}

// IPLocationHasSuffix applies the HasSuffix predicate on the "ip_location" field.
func IPLocationHasSuffix(v string) predicate.Comment {
	return predicate.Comment(sql.FieldHasSuffix(FieldIPLocation, v))
}

// IPLocationIsNil applies the IsNil predicate on the "ip_location" field.
func IPLocationIsNil() predicate.Comment {
	return predicate.Comment(sql.FieldIsNull(FieldIPLocation))
}

// IPLocationNotNil applies the NotNil predicate on the "ip_location" field.
func IPLocationNotNil() predicate.Comment {
	return predicate.Comment(sql.FieldNotNull(FieldIPLocation))
}

// IPLocationEqualFold applies the EqualFold predicate on the "ip_location" field.
func IPLocationEqualFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldEqualFold(FieldIPLocation, v))
}

// IPLocationContainsFold applies the ContainsFold predicate on the "ip_location" field.
func IPLocationContainsFold(v string) predicate.Comment {
	return predicate.Comment(sql.FieldContainsFold(FieldIPLocation, v))
}

// LikeCountEQ applies the EQ predicate on the "like_count" field.
func LikeCountEQ(v int) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldLikeCount, v))
}

// LikeCountNEQ applies the NEQ predicate on the "like_count" field.
func LikeCountNEQ(v int) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldLikeCount, v))
}

// LikeCountIn applies the In predicate on the "like_count" field.
func LikeCountIn(vs ...int) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldLikeCount, vs...))
}

// LikeCountNotIn applies the NotIn predicate on the "like_count" field.
func LikeCountNotIn(vs ...int) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldLikeCount, vs...))
}

// LikeCountGT applies the GT predicate on the "like_count" field.
func LikeCountGT(v int) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldLikeCount, v))
}

// LikeCountGTE applies the GTE predicate on the "like_count" field.
func LikeCountGTE(v int) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldLikeCount, v))
}

// LikeCountLT applies the LT predicate on the "like_count" field.
func LikeCountLT(v int) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldLikeCount, v))
}

// LikeCountLTE applies the LTE predicate on the "like_count" field.
func LikeCountLTE(v int) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldLikeCount, v))
}

// PinnedAtEQ applies the EQ predicate on the "pinned_at" field.
func PinnedAtEQ(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldEQ(FieldPinnedAt, v))
}

// PinnedAtNEQ applies the NEQ predicate on the "pinned_at" field.
func PinnedAtNEQ(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldNEQ(FieldPinnedAt, v))
}

// PinnedAtIn applies the In predicate on the "pinned_at" field.
func PinnedAtIn(vs ...time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldIn(FieldPinnedAt, vs...))
}

// PinnedAtNotIn applies the NotIn predicate on the "pinned_at" field.
func PinnedAtNotIn(vs ...time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldNotIn(FieldPinnedAt, vs...))
}

// PinnedAtGT applies the GT predicate on the "pinned_at" field.
func PinnedAtGT(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldGT(FieldPinnedAt, v))
}

// PinnedAtGTE applies the GTE predicate on the "pinned_at" field.
func PinnedAtGTE(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldGTE(FieldPinnedAt, v))
}

// PinnedAtLT applies the LT predicate on the "pinned_at" field.
func PinnedAtLT(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldLT(FieldPinnedAt, v))
}

// PinnedAtLTE applies the LTE predicate on the "pinned_at" field.
func PinnedAtLTE(v time.Time) predicate.Comment {
	return predicate.Comment(sql.FieldLTE(FieldPinnedAt, v))
}

// PinnedAtIsNil applies the IsNil predicate on the "pinned_at" field.
func PinnedAtIsNil() predicate.Comment {
	return predicate.Comment(sql.FieldIsNull(FieldPinnedAt))
}

// PinnedAtNotNil applies the NotNil predicate on the "pinned_at" field.
func PinnedAtNotNil() predicate.Comment {
	return predicate.Comment(sql.FieldNotNull(FieldPinnedAt))
}

// HasUser applies the HasEdge predicate on the "user" edge.
func HasUser() predicate.Comment {
	return predicate.Comment(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.M2O, true, UserTable, UserColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasUserWith applies the HasEdge predicate on the "user" edge with a given conditions (other predicates).
func HasUserWith(preds ...predicate.User) predicate.Comment {
	return predicate.Comment(func(s *sql.Selector) {
		step := newUserStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

// HasChildren applies the HasEdge predicate on the "children" edge.
func HasChildren() predicate.Comment {
	return predicate.Comment(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.M2O, true, ChildrenTable, ChildrenColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasChildrenWith applies the HasEdge predicate on the "children" edge with a given conditions (other predicates).
func HasChildrenWith(preds ...predicate.Comment) predicate.Comment {
	return predicate.Comment(func(s *sql.Selector) {
		step := newChildrenStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

// HasParent applies the HasEdge predicate on the "parent" edge.
func HasParent() predicate.Comment {
	return predicate.Comment(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.O2M, false, ParentTable, ParentColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasParentWith applies the HasEdge predicate on the "parent" edge with a given conditions (other predicates).
func HasParentWith(preds ...predicate.Comment) predicate.Comment {
	return predicate.Comment(func(s *sql.Selector) {
		step := newParentStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

// And groups predicates with the AND operator between them.
func And(predicates ...predicate.Comment) predicate.Comment {
	return predicate.Comment(sql.AndPredicates(predicates...))
}

// Or groups predicates with the OR operator between them.
func Or(predicates ...predicate.Comment) predicate.Comment {
	return predicate.Comment(sql.OrPredicates(predicates...))
}

// Not applies the not operator on the given predicate.
func Not(p predicate.Comment) predicate.Comment {
	return predicate.Comment(sql.NotPredicates(p))
}
