Add more shipping, extract products
This commit is contained in:
parent
6f0fc918df
commit
4fd3615343
@ -170,6 +170,47 @@ impl Migration {
|
|||||||
async fn create_products(&self, m: &SchemaManager<'_>) -> Result<(), DbErr> {
|
async fn create_products(&self, m: &SchemaManager<'_>) -> Result<(), DbErr> {
|
||||||
use Product::*;
|
use Product::*;
|
||||||
|
|
||||||
|
m.create_table(
|
||||||
|
Table::create()
|
||||||
|
.table(Products)
|
||||||
|
.col(auto_uuid_not_null!(Id))
|
||||||
|
.col(Title.col().string().not_null())
|
||||||
|
.col(Subtitle.col().string())
|
||||||
|
.col(Description.col().string())
|
||||||
|
.col(Handle.col().string())
|
||||||
|
.col(IsGiftcard.col().boolean().default(false).not_null())
|
||||||
|
.col(Thumbnail.col().string())
|
||||||
|
.col(ProfileId.col().uuid().not_null())
|
||||||
|
.col(Weight.col().integer())
|
||||||
|
.col(Length.col().integer())
|
||||||
|
.col(Height.col().integer())
|
||||||
|
.col(Width.col().integer())
|
||||||
|
.col(HsCode.col().string())
|
||||||
|
.col(OriginCountry.col().string())
|
||||||
|
.col(MidCode.col().string())
|
||||||
|
.col(Material.col().string())
|
||||||
|
.col(ts_def_now_not_null!(CreatedAt))
|
||||||
|
.col(ts_def_now_not_null!(UpdatedAt))
|
||||||
|
.col(DeletedAt.col().timestamp())
|
||||||
|
.col(Metadata.col().json_binary())
|
||||||
|
.col(CollectionId.col().uuid())
|
||||||
|
.col(TypeId.col().uuid())
|
||||||
|
.col(Discountable.col().boolean().default(true).not_null())
|
||||||
|
.col(
|
||||||
|
Status
|
||||||
|
.col()
|
||||||
|
.enumeration(
|
||||||
|
crate::types::ProductStatus::ProductStatuses,
|
||||||
|
crate::types::ProductStatus::iter().skip(1),
|
||||||
|
)
|
||||||
|
.default(crate::types::ProductStatus::Draft.to_string())
|
||||||
|
.not_null(),
|
||||||
|
)
|
||||||
|
.col(ExternalId.col().uuid())
|
||||||
|
.to_owned(),
|
||||||
|
)
|
||||||
|
.await?;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
/// ```sql
|
/// ```sql
|
||||||
@ -192,6 +233,24 @@ impl Migration {
|
|||||||
async fn create_product_categories(&self, m: &SchemaManager<'_>) -> Result<(), DbErr> {
|
async fn create_product_categories(&self, m: &SchemaManager<'_>) -> Result<(), DbErr> {
|
||||||
use ProductCategory::*;
|
use ProductCategory::*;
|
||||||
|
|
||||||
|
m.create_table(
|
||||||
|
Table::create()
|
||||||
|
.table(ProductCategories)
|
||||||
|
.col(auto_uuid_not_null!(Id))
|
||||||
|
.col(Name.col().string().not_null())
|
||||||
|
.col(Handle.col().string().not_null())
|
||||||
|
.col(ParentCategoryId.col().uuid())
|
||||||
|
.col(Mpath.col().string())
|
||||||
|
.col(IsActive.col().boolean().default(false))
|
||||||
|
.col(IsInternal.col().boolean().default(false))
|
||||||
|
.col(ts_def_now_not_null!(CreatedAt))
|
||||||
|
.col(ts_def_now_not_null!(UpdatedAt))
|
||||||
|
.col(Rank.col().integer().default(0).not_null())
|
||||||
|
.col(Description.col().text().default("".to_string()).not_null())
|
||||||
|
.to_owned(),
|
||||||
|
)
|
||||||
|
.await?;
|
||||||
|
|
||||||
m.create_constraint(ProductCategories, Check::greater_eq(Rank, 0.iden()), None)
|
m.create_constraint(ProductCategories, Check::greater_eq(Rank, 0.iden()), None)
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
@ -227,6 +286,20 @@ impl Migration {
|
|||||||
async fn create_product_collections(&self, m: &SchemaManager<'_>) -> Result<(), DbErr> {
|
async fn create_product_collections(&self, m: &SchemaManager<'_>) -> Result<(), DbErr> {
|
||||||
use ProductCollection::*;
|
use ProductCollection::*;
|
||||||
|
|
||||||
|
m.create_table(
|
||||||
|
Table::create()
|
||||||
|
.table(ProductCollections)
|
||||||
|
.col(auto_uuid_not_null!(Id))
|
||||||
|
.col(Title.col().string().not_null())
|
||||||
|
.col(Handle.col().string())
|
||||||
|
.col(ts_def_now_not_null!(CreatedAt))
|
||||||
|
.col(ts_def_now_not_null!(UpdatedAt))
|
||||||
|
.col(DeletedAt.col().timestamp())
|
||||||
|
.col(Metadata.col().json_binary())
|
||||||
|
.to_owned(),
|
||||||
|
)
|
||||||
|
.await?;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
/// ```sql
|
/// ```sql
|
||||||
@ -259,6 +332,19 @@ impl Migration {
|
|||||||
async fn create_product_options(&self, m: &SchemaManager<'_>) -> Result<(), DbErr> {
|
async fn create_product_options(&self, m: &SchemaManager<'_>) -> Result<(), DbErr> {
|
||||||
use ProductOption::*;
|
use ProductOption::*;
|
||||||
|
|
||||||
|
m.create_table(
|
||||||
|
Table::create()
|
||||||
|
.table(ProductOptions)
|
||||||
|
.col(Title.col().string().not_null())
|
||||||
|
.col(ts_def_now_not_null!(CreatedAt))
|
||||||
|
.col(ts_def_now_not_null!(UpdatedAt))
|
||||||
|
.col(DeletedAt.col().timestamp())
|
||||||
|
.col(Metadata.col().json_binary())
|
||||||
|
.col(ProductId.col().uuid())
|
||||||
|
.to_owned(),
|
||||||
|
)
|
||||||
|
.await?;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
/// ```sql
|
/// ```sql
|
||||||
@ -277,6 +363,21 @@ impl Migration {
|
|||||||
async fn create_product_option_values(&self, m: &SchemaManager<'_>) -> Result<(), DbErr> {
|
async fn create_product_option_values(&self, m: &SchemaManager<'_>) -> Result<(), DbErr> {
|
||||||
use ProductOptionValue::*;
|
use ProductOptionValue::*;
|
||||||
|
|
||||||
|
m.create_table(
|
||||||
|
Table::create()
|
||||||
|
.table(ProductOptionValues)
|
||||||
|
.col(auto_uuid_not_null!(Id))
|
||||||
|
.col(Value.col().string().not_null())
|
||||||
|
.col(OptionId.col().uuid().not_null())
|
||||||
|
.col(VariantId.col().uuid().not_null())
|
||||||
|
.col(ts_def_now_not_null!(CreatedAt))
|
||||||
|
.col(ts_def_now_not_null!(UpdatedAt))
|
||||||
|
.col(DeletedAt.col().timestamp())
|
||||||
|
.col(Metadata.col().json_binary())
|
||||||
|
.to_owned(),
|
||||||
|
)
|
||||||
|
.await;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
/// ```sql
|
/// ```sql
|
||||||
@ -308,6 +409,18 @@ impl Migration {
|
|||||||
async fn create_product_tags(&self, m: &SchemaManager<'_>) -> Result<(), DbErr> {
|
async fn create_product_tags(&self, m: &SchemaManager<'_>) -> Result<(), DbErr> {
|
||||||
use ProductTag::*;
|
use ProductTag::*;
|
||||||
|
|
||||||
|
m.create_table(
|
||||||
|
Table::create()
|
||||||
|
.col(auto_uuid_not_null!(Id))
|
||||||
|
.col(Value.col().string().not_null())
|
||||||
|
.col(ts_def_now_not_null!(CreatedAt))
|
||||||
|
.col(ts_def_now_not_null!(UpdatedAt))
|
||||||
|
.col(DeletedAt.col().timestamp())
|
||||||
|
.col(Metadata.col().json_binary())
|
||||||
|
.to_owned(),
|
||||||
|
)
|
||||||
|
.await;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
/// ```sql
|
/// ```sql
|
||||||
|
Loading…
Reference in New Issue
Block a user