online-order/ent/migrate/schema.go

227 lines
8.9 KiB
Go
Raw Permalink Normal View History

2023-10-27 09:51:58 +00:00
// Code generated by ent, DO NOT EDIT.
package migrate
import (
"entgo.io/ent/dialect/sql/schema"
"entgo.io/ent/schema/field"
)
var (
// BusinessesColumns holds the columns for the "businesses" table.
BusinessesColumns = []*schema.Column{
{Name: "id", Type: field.TypeInt, Increment: true},
{Name: "name", Type: field.TypeString, Default: "unknown"},
{Name: "slug", Type: field.TypeString, Unique: true},
{Name: "bot_id", Type: field.TypeString, Unique: true},
2023-10-28 23:12:07 +00:00
{Name: "description", Type: field.TypeString, Nullable: true, Size: 2147483647},
{Name: "about_us", Type: field.TypeString, Nullable: true, Size: 2147483647},
2023-10-27 09:51:58 +00:00
{Name: "created_at", Type: field.TypeTime},
{Name: "updated_at", Type: field.TypeTime},
2023-10-28 23:12:07 +00:00
{Name: "business_category_id", Type: field.TypeInt, Nullable: true},
{Name: "user_id", Type: field.TypeInt, Nullable: true},
2023-10-27 09:51:58 +00:00
}
// BusinessesTable holds the schema information for the "businesses" table.
BusinessesTable = &schema.Table{
Name: "businesses",
Columns: BusinessesColumns,
PrimaryKey: []*schema.Column{BusinessesColumns[0]},
2023-10-28 23:12:07 +00:00
ForeignKeys: []*schema.ForeignKey{
{
Symbol: "businesses_business_categories_businesses",
Columns: []*schema.Column{BusinessesColumns[8]},
RefColumns: []*schema.Column{BusinessCategoriesColumns[0]},
OnDelete: schema.SetNull,
},
{
Symbol: "businesses_users_businesses",
Columns: []*schema.Column{BusinessesColumns[9]},
RefColumns: []*schema.Column{UsersColumns[0]},
OnDelete: schema.SetNull,
},
},
2023-10-27 09:51:58 +00:00
}
// BusinessCategoriesColumns holds the columns for the "business_categories" table.
BusinessCategoriesColumns = []*schema.Column{
{Name: "id", Type: field.TypeInt, Increment: true},
{Name: "slug", Type: field.TypeString, Unique: true},
{Name: "name", Type: field.TypeString, Default: "unknown"},
2023-10-28 23:12:07 +00:00
{Name: "description", Type: field.TypeString, Size: 2147483647, Default: "unknown"},
2023-10-27 09:51:58 +00:00
}
// BusinessCategoriesTable holds the schema information for the "business_categories" table.
BusinessCategoriesTable = &schema.Table{
Name: "business_categories",
Columns: BusinessCategoriesColumns,
PrimaryKey: []*schema.Column{BusinessCategoriesColumns[0]},
}
2023-10-28 23:12:07 +00:00
// BusinessConfigsColumns holds the columns for the "business_configs" table.
BusinessConfigsColumns = []*schema.Column{
{Name: "id", Type: field.TypeInt, Increment: true},
{Name: "company", Type: field.TypeString, Default: "WillaEngine"},
{Name: "auth_config", Type: field.TypeJSON},
{Name: "config", Type: field.TypeJSON},
{Name: "business_id", Type: field.TypeInt, Nullable: true},
}
// BusinessConfigsTable holds the schema information for the "business_configs" table.
BusinessConfigsTable = &schema.Table{
Name: "business_configs",
Columns: BusinessConfigsColumns,
PrimaryKey: []*schema.Column{BusinessConfigsColumns[0]},
ForeignKeys: []*schema.ForeignKey{
{
Symbol: "business_configs_businesses_business_configs",
Columns: []*schema.Column{BusinessConfigsColumns[4]},
RefColumns: []*schema.Column{BusinessesColumns[0]},
OnDelete: schema.SetNull,
},
},
Indexes: []*schema.Index{
{
Name: "businessconfig_company_business_id",
Unique: true,
Columns: []*schema.Column{BusinessConfigsColumns[1], BusinessConfigsColumns[4]},
},
},
}
// DomainsColumns holds the columns for the "domains" table.
DomainsColumns = []*schema.Column{
{Name: "id", Type: field.TypeInt, Increment: true},
{Name: "domain", Type: field.TypeString, Unique: true},
{Name: "config", Type: field.TypeJSON, Nullable: true},
2023-10-29 23:33:40 +00:00
{Name: "status", Type: field.TypeBool, Default: true},
2023-10-28 23:12:07 +00:00
{Name: "created_at", Type: field.TypeTime},
{Name: "updated_at", Type: field.TypeTime},
{Name: "business_id", Type: field.TypeInt, Nullable: true},
{Name: "user_id", Type: field.TypeInt, Nullable: true},
}
// DomainsTable holds the schema information for the "domains" table.
DomainsTable = &schema.Table{
Name: "domains",
Columns: DomainsColumns,
PrimaryKey: []*schema.Column{DomainsColumns[0]},
ForeignKeys: []*schema.ForeignKey{
{
Symbol: "domains_businesses_domains",
2023-10-29 23:33:40 +00:00
Columns: []*schema.Column{DomainsColumns[6]},
2023-10-28 23:12:07 +00:00
RefColumns: []*schema.Column{BusinessesColumns[0]},
OnDelete: schema.SetNull,
},
{
Symbol: "domains_users_domains",
2023-10-29 23:33:40 +00:00
Columns: []*schema.Column{DomainsColumns[7]},
2023-10-28 23:12:07 +00:00
RefColumns: []*schema.Column{UsersColumns[0]},
OnDelete: schema.SetNull,
},
},
}
2023-10-27 09:51:58 +00:00
// ProductsColumns holds the columns for the "products" table.
ProductsColumns = []*schema.Column{
{Name: "id", Type: field.TypeInt, Increment: true},
{Name: "name", Type: field.TypeString, Default: "unknown"},
2023-10-28 23:12:07 +00:00
{Name: "summary", Type: field.TypeString, Nullable: true, Size: 2147483647},
{Name: "description", Type: field.TypeString, Nullable: true, Size: 2147483647},
2023-10-27 09:51:58 +00:00
{Name: "price", Type: field.TypeFloat64, Default: 0},
{Name: "original_price", Type: field.TypeFloat64, Default: 0},
{Name: "quantity", Type: field.TypeInt, Default: 0},
{Name: "status", Type: field.TypeBool, Default: true},
{Name: "created_at", Type: field.TypeTime},
{Name: "updated_at", Type: field.TypeTime},
2023-10-28 23:12:07 +00:00
{Name: "business_id", Type: field.TypeInt, Nullable: true},
{Name: "product_category_id", Type: field.TypeInt, Nullable: true},
{Name: "user_id", Type: field.TypeInt, Nullable: true},
2023-10-27 09:51:58 +00:00
}
// ProductsTable holds the schema information for the "products" table.
ProductsTable = &schema.Table{
Name: "products",
Columns: ProductsColumns,
PrimaryKey: []*schema.Column{ProductsColumns[0]},
2023-10-28 23:12:07 +00:00
ForeignKeys: []*schema.ForeignKey{
{
Symbol: "products_businesses_products",
Columns: []*schema.Column{ProductsColumns[10]},
RefColumns: []*schema.Column{BusinessesColumns[0]},
OnDelete: schema.SetNull,
},
{
Symbol: "products_product_categories_products",
Columns: []*schema.Column{ProductsColumns[11]},
RefColumns: []*schema.Column{ProductCategoriesColumns[0]},
OnDelete: schema.SetNull,
},
{
Symbol: "products_users_products",
Columns: []*schema.Column{ProductsColumns[12]},
RefColumns: []*schema.Column{UsersColumns[0]},
OnDelete: schema.SetNull,
},
},
2023-10-27 09:51:58 +00:00
}
// ProductCategoriesColumns holds the columns for the "product_categories" table.
ProductCategoriesColumns = []*schema.Column{
{Name: "id", Type: field.TypeInt, Increment: true},
{Name: "name", Type: field.TypeString, Default: "unknown"},
{Name: "slug", Type: field.TypeString, Unique: true},
{Name: "description", Type: field.TypeString, Nullable: true},
{Name: "status", Type: field.TypeBool, Default: true},
{Name: "created_at", Type: field.TypeTime},
{Name: "updated_at", Type: field.TypeTime},
2023-10-28 23:12:07 +00:00
{Name: "business_id", Type: field.TypeInt, Nullable: true},
2023-10-27 09:51:58 +00:00
}
// ProductCategoriesTable holds the schema information for the "product_categories" table.
ProductCategoriesTable = &schema.Table{
Name: "product_categories",
Columns: ProductCategoriesColumns,
PrimaryKey: []*schema.Column{ProductCategoriesColumns[0]},
ForeignKeys: []*schema.ForeignKey{
{
2023-10-28 23:12:07 +00:00
Symbol: "product_categories_businesses_product_categories",
Columns: []*schema.Column{ProductCategoriesColumns[7]},
2023-10-27 09:51:58 +00:00
RefColumns: []*schema.Column{BusinessesColumns[0]},
2023-10-28 23:12:07 +00:00
OnDelete: schema.SetNull,
2023-10-27 09:51:58 +00:00
},
},
}
2023-10-28 23:12:07 +00:00
// UsersColumns holds the columns for the "users" table.
UsersColumns = []*schema.Column{
{Name: "id", Type: field.TypeInt, Increment: true},
{Name: "email", Type: field.TypeString, Unique: true, Nullable: true},
{Name: "cell_phone", Type: field.TypeString},
{Name: "first_name", Type: field.TypeString, Size: 150},
{Name: "last_name", Type: field.TypeString, Size: 255},
{Name: "password", Type: field.TypeString, Nullable: true, Size: 2147483647},
{Name: "is_active", Type: field.TypeBool, Default: false},
{Name: "is_admin", Type: field.TypeBool, Default: false},
{Name: "created_at", Type: field.TypeTime},
{Name: "updated_at", Type: field.TypeTime},
{Name: "last_authentication_at", Type: field.TypeTime, Nullable: true},
2023-10-27 09:51:58 +00:00
}
2023-10-28 23:12:07 +00:00
// UsersTable holds the schema information for the "users" table.
UsersTable = &schema.Table{
Name: "users",
Columns: UsersColumns,
PrimaryKey: []*schema.Column{UsersColumns[0]},
2023-10-27 09:51:58 +00:00
}
// Tables holds all the tables in the schema.
Tables = []*schema.Table{
BusinessesTable,
BusinessCategoriesTable,
2023-10-28 23:12:07 +00:00
BusinessConfigsTable,
DomainsTable,
2023-10-27 09:51:58 +00:00
ProductsTable,
ProductCategoriesTable,
2023-10-28 23:12:07 +00:00
UsersTable,
2023-10-27 09:51:58 +00:00
}
)
func init() {
2023-10-28 23:12:07 +00:00
BusinessesTable.ForeignKeys[0].RefTable = BusinessCategoriesTable
BusinessesTable.ForeignKeys[1].RefTable = UsersTable
BusinessConfigsTable.ForeignKeys[0].RefTable = BusinessesTable
DomainsTable.ForeignKeys[0].RefTable = BusinessesTable
DomainsTable.ForeignKeys[1].RefTable = UsersTable
ProductsTable.ForeignKeys[0].RefTable = BusinessesTable
ProductsTable.ForeignKeys[1].RefTable = ProductCategoriesTable
ProductsTable.ForeignKeys[2].RefTable = UsersTable
ProductCategoriesTable.ForeignKeys[0].RefTable = BusinessesTable
2023-10-27 09:51:58 +00:00
}