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},
|
|
|
|
{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",
|
|
|
|
Columns: []*schema.Column{DomainsColumns[5]},
|
|
|
|
RefColumns: []*schema.Column{BusinessesColumns[0]},
|
|
|
|
OnDelete: schema.SetNull,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
Symbol: "domains_users_domains",
|
|
|
|
Columns: []*schema.Column{DomainsColumns[6]},
|
|
|
|
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
|
|
|
}
|