MCPcopy Create free account
hub / github.com/SeaQL/sea-orm / create_baker_cake

Function create_baker_cake

tests/cursor_tests.rs:553–609  ·  view source on GitHub ↗
(db: &DatabaseConnection)

Source from the content-addressed store, hash-verified

551}
552
553pub async fn create_baker_cake(db: &DatabaseConnection) -> Result<(), DbErr> {
554 let mut bakeries: Vec<bakery::ActiveModel> = vec![];
555 // bakeries named from 1 to 10
556 for i in 1..=10 {
557 bakeries.push(bakery::ActiveModel {
558 name: Set(i.to_string()),
559 profit_margin: Set(10.4),
560 ..Default::default()
561 });
562 }
563 let _ = Bakery::insert_many(bakeries).exec(db).await?;
564
565 let mut bakers: Vec<baker::ActiveModel> = vec![];
566 let mut cakes: Vec<cake::ActiveModel> = vec![];
567 let mut cakes_bakers: Vec<cakes_bakers::ActiveModel> = vec![];
568 // baker and cakes named from "A" to "Z" and from "a" to "z"
569 for c in 'A'..='Z' {
570 bakers.push(baker::ActiveModel {
571 name: Set(c.clone().to_string()),
572 contact_details: Set(serde_json::json!({
573 "mobile": "+61424000000",
574 })),
575 bakery_id: Set(Some((c as i32 - 65) % 10 + 1)),
576 ..Default::default()
577 });
578 cakes.push(cake::ActiveModel {
579 name: Set(c.to_ascii_lowercase().to_string()),
580 price: Set(rust_dec(10.25)),
581 gluten_free: Set(false),
582 serial: Set(Uuid::new_v4()),
583 bakery_id: Set(Some((c as i32 - 65) % 10 + 1)),
584 ..Default::default()
585 });
586 cakes_bakers.push(cakes_bakers::ActiveModel {
587 cake_id: Set(c as i32 - 64),
588 baker_id: Set(c as i32 - 64),
589 })
590 }
591 cakes_bakers.append(
592 vec![
593 cakes_bakers::ActiveModel {
594 cake_id: Set(2),
595 baker_id: Set(1),
596 },
597 cakes_bakers::ActiveModel {
598 cake_id: Set(1),
599 baker_id: Set(2),
600 },
601 ]
602 .as_mut(),
603 );
604 Baker::insert_many(bakers).exec(db).await?;
605 Cake::insert_many(cakes).exec(db).await?;
606 CakesBakers::insert_many(cakes_bakers).exec(db).await?;
607
608 Ok(())
609}
610

Callers 1

cursor_testsFunction · 0.85

Calls 4

insert_manyFunction · 0.85
rust_decFunction · 0.85
pushMethod · 0.80
execMethod · 0.45

Tested by

no test coverage detected