From 7af76fc7530b41fc01a035bd36b8032a8c2ecd5f Mon Sep 17 00:00:00 2001 From: Chris Tsang Date: Sun, 30 Jul 2023 05:08:28 +0800 Subject: [PATCH] Seaography example WIP (#1788) * Seaography example WIP * Seaography example * Screenshot --- examples/seaography_example/README.md | 80 +++++++ .../seaography_example/Seaography example.png | Bin 0 -> 200065 bytes examples/seaography_example/graphql/.env | 3 + .../seaography_example/graphql/Cargo.toml | 27 +++ .../graphql/src/entities/baker.rs | 60 ++++++ .../graphql/src/entities/bakery.rs | 43 ++++ .../graphql/src/entities/cake.rs | 62 ++++++ .../graphql/src/entities/cake_baker.rs | 54 +++++ .../graphql/src/entities/mod.rs | 8 + .../graphql/src/entities/prelude.rs | 6 + .../seaography_example/graphql/src/lib.rs | 8 + .../seaography_example/graphql/src/main.rs | 64 ++++++ .../graphql/src/query_root.rs | 28 +++ .../seaography_example/migration/Cargo.toml | 26 +++ .../seaography_example/migration/README.md | 51 +++++ .../migration/src/entity/baker.rs | 50 +++++ .../migration/src/entity/bakery.rs | 35 ++++ .../migration/src/entity/cake.rs | 52 +++++ .../migration/src/entity/cake_baker.rs | 46 +++++ .../migration/src/entity/mod.rs | 8 + .../migration/src/entity/prelude.rs | 6 + .../seaography_example/migration/src/lib.rs | 29 +++ .../m20230101_000001_create_bakery_table.rs | 40 ++++ .../m20230101_000002_create_baker_table.rs | 56 +++++ .../src/m20230101_000003_create_cake_table.rs | 58 ++++++ ...20230101_000004_create_cake_baker_table.rs | 66 ++++++ .../m20230101_000005_create_customer_table.rs | 1 + .../m20230101_000006_create_order_table.rs | 1 + .../m20230101_000007_create_lineitem_table.rs | 1 + .../src/m20230102_000001_seed_bakery_data.rs | 195 ++++++++++++++++++ .../seaography_example/migration/src/main.rs | 6 + 31 files changed, 1170 insertions(+) create mode 100644 examples/seaography_example/README.md create mode 100644 examples/seaography_example/Seaography example.png create mode 100644 examples/seaography_example/graphql/.env create mode 100644 examples/seaography_example/graphql/Cargo.toml create mode 100644 examples/seaography_example/graphql/src/entities/baker.rs create mode 100644 examples/seaography_example/graphql/src/entities/bakery.rs create mode 100644 examples/seaography_example/graphql/src/entities/cake.rs create mode 100644 examples/seaography_example/graphql/src/entities/cake_baker.rs create mode 100644 examples/seaography_example/graphql/src/entities/mod.rs create mode 100644 examples/seaography_example/graphql/src/entities/prelude.rs create mode 100644 examples/seaography_example/graphql/src/lib.rs create mode 100644 examples/seaography_example/graphql/src/main.rs create mode 100644 examples/seaography_example/graphql/src/query_root.rs create mode 100644 examples/seaography_example/migration/Cargo.toml create mode 100644 examples/seaography_example/migration/README.md create mode 100644 examples/seaography_example/migration/src/entity/baker.rs create mode 100644 examples/seaography_example/migration/src/entity/bakery.rs create mode 100644 examples/seaography_example/migration/src/entity/cake.rs create mode 100644 examples/seaography_example/migration/src/entity/cake_baker.rs create mode 100644 examples/seaography_example/migration/src/entity/mod.rs create mode 100644 examples/seaography_example/migration/src/entity/prelude.rs create mode 100644 examples/seaography_example/migration/src/lib.rs create mode 100644 examples/seaography_example/migration/src/m20230101_000001_create_bakery_table.rs create mode 100644 examples/seaography_example/migration/src/m20230101_000002_create_baker_table.rs create mode 100644 examples/seaography_example/migration/src/m20230101_000003_create_cake_table.rs create mode 100644 examples/seaography_example/migration/src/m20230101_000004_create_cake_baker_table.rs create mode 100644 examples/seaography_example/migration/src/m20230101_000005_create_customer_table.rs create mode 100644 examples/seaography_example/migration/src/m20230101_000006_create_order_table.rs create mode 100644 examples/seaography_example/migration/src/m20230101_000007_create_lineitem_table.rs create mode 100644 examples/seaography_example/migration/src/m20230102_000001_seed_bakery_data.rs create mode 100644 examples/seaography_example/migration/src/main.rs diff --git a/examples/seaography_example/README.md b/examples/seaography_example/README.md new file mode 100644 index 00000000..b4325b47 --- /dev/null +++ b/examples/seaography_example/README.md @@ -0,0 +1,80 @@ +# SeaORM Seaography Example + +![Seaography screenshot with Bakery schema]() + +## Specifiy a database url + +``` +export DATABASE_URL=mysql://sea:sea@localhost/bakery +``` + +## Setup the Database first + +Cd into `migration` folder, follow instructions there, but basically: + +``` +cargo run +``` + +## Install Seaography + +``` +cargo install seaography-cli@^1.0.0-rc.2 +``` + +## Generate Seaography project + +``` +rm -rf graphql # this entire folder is generated +sea-orm-cli generate entity --output-dir graphql/src/entities --seaography +seaography-cli graphql graphql/src/entities $DATABASE_URL sea-orm-seaography-example +``` + +## Running the project + +``` +cd graphql +cargo run +``` + +## Run some queries + +### Bakery -> Cake -> Baker + +```graphql +{ + bakery(pagination: { page: { limit: 10, page: 0 } }, orderBy: { name: ASC }) { + nodes { + name + cake { + nodes { + name + price + baker { + nodes { + name + } + } + } + } + } + } +} +``` + +### List gluten-free cakes and know where to buy them + +```graphql +{ + cake(filters: { glutenFree: { eq: 1 } }) { + nodes { + name + price + glutenFree + bakery { + name + } + } + } +} +``` diff --git a/examples/seaography_example/Seaography example.png b/examples/seaography_example/Seaography example.png new file mode 100644 index 0000000000000000000000000000000000000000..a13d4a6ac39214e0dea8d3b27e77ca4c2b8a8062 GIT binary patch literal 200065 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%0DX#_R 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

f}3Qt#5 z8{by%+jyW6C~kEK(_VQ=ah@Db{Wc+y^{UG&cdlNB*{RDBS5#`&wh^fB zFWQ`C6^I6kwXtphoJhu9H#E$pFP&j8)9Xc!EjHFmdTSMJhlhT(HOE=nvI8N#kvl)n z!(b5VFWE`ikM@$B6CTJ?Qj$agXdlxdZj6WbD+Yg1)4N7ZnFB_lwLo3`n%+)H2-|Hp zSBU}OIE_mg23~di48aCe+I?-JCsz8IYtL7d-uW30I5>z5Z)~%7rvJ9U&gjorPXFvW zfRB7+)lJYFOc*{s_}Zkii)t4gHe$?mH-r)C@^v6Nar=5Hr^8-zM+@tN#4lsK+OT`E zj*Jr*myGL20Gk}FTV@IJ8h_RozX)G5^G8IAknTv>4e#u$65ptOFZH{zOAaBby#GeX z@K8g8Yzis*}x-4hgVb~mGZju&L5B06|~VidV?CQuE+ z?K{tB^y=-K%3)WdOl-Tro?y`)??!e?LSBfG|5M|>attMh_}o3uNJWj$J$=5qQ+H7P zdv4(xz%kyo8UA8C8iwb~tKYjiiOl4b zFqu`?mRo{bZ8;aId-WwBrEY9o%1d=^CXZ}muhK+K zQt}5Kj^nySf51k~s{iYpg2FiIzLx$S7?#1{fg@08%{Z!~Wst$Ga^v_N>zOsFR?|Pl z*1`GndeRKnjCs=VMa*J%X76ez!%Yto~f%RN~Ep zAK2pFQCl4+3xf)^R5j?!Zro?{APTPU&K>p4^sDuYSA&JsJ$;TMM4%k<j5UrL-(y zrqW*GuO6ZgK^)v|X5K>sO5$&x=%9I-tTXU0F)ZQ377174BL>w^g;SKGfG7wm(!+hW zc2ClKV^uFG@h2My%#x8#vDKq)W1dJ#QlE-w%u5!$v!-K-Eo1&R4y;+}-I3cpiKUji z4Cca$zc_*qI2Fq{<4QsrbV6HOMM)<2wOdz6p!#ci2y$B1b+z1_-|5e}V!}GeyQ3C- zirRRO!`MfCq@%cJKng?04nP9m{J--DLaL$chQ)@_{8%jv4miEDkMyF=7Z_!((`^nJ zU&M`d7h|XI6ej?$zs~jG{bpS3PrF&Pphky~#qLBcfGN-u(joNtY~!X=KNsTuT#zuR z683!&Icp;ohzr0A)|b+8w=1IB3PhS&%VzZ_p1X@ZgQx4)SH>Pa8l@qEMFJ_F zGs}`0m?(&fk37kGf8Ok60VKW}ndkQ^rL@7^4ydSGY;L3CLwDqyFOA@;aRZ5nzgy1< z-mOsi-iMEepdG@6Z8D@HK78PNgE8=rZw^?Q0-@IVEA{5dxf?{Kc5G8Iy%&=g&6d|w zG1%tb*GP@8ODpivO=+mBga+3V1ToCnUmN=l(lF#Z%ecK^HYUkX9mwSI^i`YX_&-1c z*WnDa7H2(mnM1ltJL;dl^@>4&w@K57E}=%BQ!`5j=Rw)NutfN``N4vPF%3TF$ITv; zkiGE_c9^nPGgl@tbkDo=4BMHl1Lp4c%vm>|etaET{FMzc*Qy>dyIQ311J!p)^^ncp z!0C2vN9dvxb**l6uY6Z=uVD=1AO82~!%CM07j`oKs)u#kYOyuwWO|}z2dj_~WFY93 z65@smbRKj~w#m0vnt$HmHrc=6svN6dW31H8W*huc&#ZAh)$o0MsO@wuM^|+&6`Yqg z`PO|k^=@mW1xwGB0mg)bqrN51_(A=P*tiwVH|Ms>Yn$WqDj?(Wp9>@%ErM8M2h)aC zDze(4?xeC$%MF`8 zJZ`fDt@rns8Z0+gl$6rx6lGPuyMqz~L`QWxX@dy+*k)=#@zMxkDgX3>_|O5S^*IVn zVfnasi^UoGw-l)7Q9)DnwxAP#hrCMkHytt3eVZm$DsR zzX8&eqB^RE9f9C#@}s3$_fD}2B_XaswPHt)z2x4T!*d?Ka;-6=c5cfyTs$XMZ~9bP zBl*E1mGVFcb2¬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 literal 0 HcmV?d00001 diff --git a/examples/seaography_example/graphql/.env b/examples/seaography_example/graphql/.env new file mode 100644 index 00000000..3f3e265a --- /dev/null +++ b/examples/seaography_example/graphql/.env @@ -0,0 +1,3 @@ +DATABASE_URL="mysql://sea:sea@localhost/bakery" +# COMPLEXITY_LIMIT= +# DEPTH_LIMIT= \ No newline at end of file diff --git a/examples/seaography_example/graphql/Cargo.toml b/examples/seaography_example/graphql/Cargo.toml new file mode 100644 index 00000000..4a9da62c --- /dev/null +++ b/examples/seaography_example/graphql/Cargo.toml @@ -0,0 +1,27 @@ +[package] +edition = "2021" +name = "sea-orm-seaography-example" +version = "0.3.0" +publish = false + +[dependencies] +poem = { version = "1.3.56" } +async-graphql-poem = { version = "5.0.10" } +async-graphql = { version = "5.0.10", features = ["decimal", "chrono", "dataloader", "dynamic-schema"] } +async-trait = { version = "0.1.72" } +dotenv = "0.15.0" +sea-orm = { version = "0.12.0", features = ["sqlx-mysql", "runtime-async-std-native-tls", "seaography"] } +tokio = { version = "1.29.1", features = ["macros", "rt-multi-thread"] } +tracing = { version = "0.1.37" } +tracing-subscriber = { version = "0.3.17" } +lazy_static = { version = "1.4.0" } + +[dependencies.seaography] +version = "1.0.0-rc.2" # seaography version +features = ["with-decimal", "with-chrono"] + +[dev-dependencies] +serde_json = { version = "1.0.103" } + +[workspace] +members = [] \ No newline at end of file diff --git a/examples/seaography_example/graphql/src/entities/baker.rs b/examples/seaography_example/graphql/src/entities/baker.rs new file mode 100644 index 00000000..ba2e6ac2 --- /dev/null +++ b/examples/seaography_example/graphql/src/entities/baker.rs @@ -0,0 +1,60 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.1 + +use sea_orm::entity::prelude::*; + +#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)] +#[sea_orm(table_name = "baker")] +pub struct Model { + #[sea_orm(primary_key)] + pub id: i32, + pub name: String, + pub contact: String, + pub bakery_id: Option, +} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] +pub enum Relation { + #[sea_orm( + belongs_to = "super::bakery::Entity", + from = "Column::BakeryId", + to = "super::bakery::Column::Id", + on_update = "Cascade", + on_delete = "Cascade" + )] + Bakery, + #[sea_orm(has_many = "super::cake_baker::Entity")] + CakeBaker, +} + +impl Related for Entity { + fn to() -> RelationDef { + Relation::Bakery.def() + } +} + +impl Related for Entity { + fn to() -> RelationDef { + Relation::CakeBaker.def() + } +} + +impl Related for Entity { + fn to() -> RelationDef { + super::cake_baker::Relation::Cake.def() + } + fn via() -> Option { + Some(super::cake_baker::Relation::Baker.def().rev()) + } +} + +impl ActiveModelBehavior for ActiveModel {} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveRelatedEntity)] +pub enum RelatedEntity { + #[sea_orm(entity = "super::bakery::Entity")] + Bakery, + #[sea_orm(entity = "super::cake_baker::Entity")] + CakeBaker, + #[sea_orm(entity = "super::cake::Entity")] + Cake, +} diff --git a/examples/seaography_example/graphql/src/entities/bakery.rs b/examples/seaography_example/graphql/src/entities/bakery.rs new file mode 100644 index 00000000..a168d51e --- /dev/null +++ b/examples/seaography_example/graphql/src/entities/bakery.rs @@ -0,0 +1,43 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.1 + +use sea_orm::entity::prelude::*; + +#[derive(Clone, Debug, PartialEq, DeriveEntityModel)] +#[sea_orm(table_name = "bakery")] +pub struct Model { + #[sea_orm(primary_key)] + pub id: i32, + pub name: String, + #[sea_orm(column_type = "Double")] + pub profit_margin: f64, +} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] +pub enum Relation { + #[sea_orm(has_many = "super::baker::Entity")] + Baker, + #[sea_orm(has_many = "super::cake::Entity")] + Cake, +} + +impl Related for Entity { + fn to() -> RelationDef { + Relation::Baker.def() + } +} + +impl Related for Entity { + fn to() -> RelationDef { + Relation::Cake.def() + } +} + +impl ActiveModelBehavior for ActiveModel {} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveRelatedEntity)] +pub enum RelatedEntity { + #[sea_orm(entity = "super::baker::Entity")] + Baker, + #[sea_orm(entity = "super::cake::Entity")] + Cake, +} diff --git a/examples/seaography_example/graphql/src/entities/cake.rs b/examples/seaography_example/graphql/src/entities/cake.rs new file mode 100644 index 00000000..2fe78ca1 --- /dev/null +++ b/examples/seaography_example/graphql/src/entities/cake.rs @@ -0,0 +1,62 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.1 + +use sea_orm::entity::prelude::*; + +#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)] +#[sea_orm(table_name = "cake")] +pub struct Model { + #[sea_orm(primary_key)] + pub id: i32, + pub name: String, + #[sea_orm(column_type = "Decimal(Some((19, 4)))")] + pub price: Decimal, + pub bakery_id: Option, + pub gluten_free: i8, +} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] +pub enum Relation { + #[sea_orm( + belongs_to = "super::bakery::Entity", + from = "Column::BakeryId", + to = "super::bakery::Column::Id", + on_update = "Cascade", + on_delete = "Cascade" + )] + Bakery, + #[sea_orm(has_many = "super::cake_baker::Entity")] + CakeBaker, +} + +impl Related for Entity { + fn to() -> RelationDef { + Relation::Bakery.def() + } +} + +impl Related for Entity { + fn to() -> RelationDef { + Relation::CakeBaker.def() + } +} + +impl Related for Entity { + fn to() -> RelationDef { + super::cake_baker::Relation::Baker.def() + } + fn via() -> Option { + Some(super::cake_baker::Relation::Cake.def().rev()) + } +} + +impl ActiveModelBehavior for ActiveModel {} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveRelatedEntity)] +pub enum RelatedEntity { + #[sea_orm(entity = "super::bakery::Entity")] + Bakery, + #[sea_orm(entity = "super::cake_baker::Entity")] + CakeBaker, + #[sea_orm(entity = "super::baker::Entity")] + Baker, +} diff --git a/examples/seaography_example/graphql/src/entities/cake_baker.rs b/examples/seaography_example/graphql/src/entities/cake_baker.rs new file mode 100644 index 00000000..7a629588 --- /dev/null +++ b/examples/seaography_example/graphql/src/entities/cake_baker.rs @@ -0,0 +1,54 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.1 + +use sea_orm::entity::prelude::*; + +#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)] +#[sea_orm(table_name = "cake_baker")] +pub struct Model { + #[sea_orm(primary_key, auto_increment = false)] + pub cake_id: i32, + #[sea_orm(primary_key, auto_increment = false)] + pub baker_id: i32, +} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] +pub enum Relation { + #[sea_orm( + belongs_to = "super::baker::Entity", + from = "Column::BakerId", + to = "super::baker::Column::Id", + on_update = "Cascade", + on_delete = "Cascade" + )] + Baker, + #[sea_orm( + belongs_to = "super::cake::Entity", + from = "Column::CakeId", + to = "super::cake::Column::Id", + on_update = "Cascade", + on_delete = "Cascade" + )] + Cake, +} + +impl Related for Entity { + fn to() -> RelationDef { + Relation::Baker.def() + } +} + +impl Related for Entity { + fn to() -> RelationDef { + Relation::Cake.def() + } +} + +impl ActiveModelBehavior for ActiveModel {} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveRelatedEntity)] +pub enum RelatedEntity { + #[sea_orm(entity = "super::baker::Entity")] + Baker, + #[sea_orm(entity = "super::cake::Entity")] + Cake, +} diff --git a/examples/seaography_example/graphql/src/entities/mod.rs b/examples/seaography_example/graphql/src/entities/mod.rs new file mode 100644 index 00000000..dc59aec4 --- /dev/null +++ b/examples/seaography_example/graphql/src/entities/mod.rs @@ -0,0 +1,8 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.1 + +pub mod prelude; + +pub mod baker; +pub mod bakery; +pub mod cake; +pub mod cake_baker; diff --git a/examples/seaography_example/graphql/src/entities/prelude.rs b/examples/seaography_example/graphql/src/entities/prelude.rs new file mode 100644 index 00000000..9433bfe6 --- /dev/null +++ b/examples/seaography_example/graphql/src/entities/prelude.rs @@ -0,0 +1,6 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.1 + +pub use super::baker::Entity as Baker; +pub use super::bakery::Entity as Bakery; +pub use super::cake::Entity as Cake; +pub use super::cake_baker::Entity as CakeBaker; diff --git a/examples/seaography_example/graphql/src/lib.rs b/examples/seaography_example/graphql/src/lib.rs new file mode 100644 index 00000000..770aa614 --- /dev/null +++ b/examples/seaography_example/graphql/src/lib.rs @@ -0,0 +1,8 @@ +use sea_orm::prelude::*; + +pub mod entities; +pub mod query_root; + +pub struct OrmDataloader { + pub db: DatabaseConnection, +} diff --git a/examples/seaography_example/graphql/src/main.rs b/examples/seaography_example/graphql/src/main.rs new file mode 100644 index 00000000..6ddab689 --- /dev/null +++ b/examples/seaography_example/graphql/src/main.rs @@ -0,0 +1,64 @@ +use async_graphql::{ + dataloader::DataLoader, + http::{playground_source, GraphQLPlaygroundConfig}, +}; +use async_graphql_poem::GraphQL; +use dotenv::dotenv; +use lazy_static::lazy_static; +use poem::{get, handler, listener::TcpListener, web::Html, IntoResponse, Route, Server}; +use sea_orm::Database; +use sea_orm_seaography_example::*; +use std::env; + +lazy_static! { + static ref URL: String = env::var("URL").unwrap_or("0.0.0.0:8000".into()); + static ref ENDPOINT: String = env::var("ENDPOINT").unwrap_or("/".into()); + static ref DATABASE_URL: String = + env::var("DATABASE_URL").expect("DATABASE_URL environment variable not set"); + static ref DEPTH_LIMIT: Option = env::var("DEPTH_LIMIT").map_or(None, |data| Some( + data.parse().expect("DEPTH_LIMIT is not a number") + )); + static ref COMPLEXITY_LIMIT: Option = env::var("COMPLEXITY_LIMIT") + .map_or(None, |data| { + Some(data.parse().expect("COMPLEXITY_LIMIT is not a number")) + }); +} + +#[handler] +async fn graphql_playground() -> impl IntoResponse { + Html(playground_source(GraphQLPlaygroundConfig::new(&ENDPOINT))) +} + +#[tokio::main] +async fn main() { + dotenv().ok(); + tracing_subscriber::fmt() + .with_max_level(tracing::Level::INFO) + .with_test_writer() + .init(); + let database = Database::connect(&*DATABASE_URL) + .await + .expect("Fail to initialize database connection"); + let orm_dataloader: DataLoader = DataLoader::new( + OrmDataloader { + db: database.clone(), + }, + tokio::spawn, + ); + let schema = sea_orm_seaography_example::query_root::schema( + database, + orm_dataloader, + *DEPTH_LIMIT, + *COMPLEXITY_LIMIT, + ) + .unwrap(); + let app = Route::new().at( + &*ENDPOINT, + get(graphql_playground).post(GraphQL::new(schema)), + ); + println!("Visit GraphQL Playground at http://{}", *URL); + Server::new(TcpListener::bind(&*URL)) + .run(app) + .await + .expect("Fail to start web server"); +} diff --git a/examples/seaography_example/graphql/src/query_root.rs b/examples/seaography_example/graphql/src/query_root.rs new file mode 100644 index 00000000..5fe88b2d --- /dev/null +++ b/examples/seaography_example/graphql/src/query_root.rs @@ -0,0 +1,28 @@ +use crate::{entities::*, OrmDataloader}; +use async_graphql::{dataloader::DataLoader, dynamic::*}; +use sea_orm::DatabaseConnection; +use seaography::{Builder, BuilderContext}; + +lazy_static::lazy_static! { static ref CONTEXT : BuilderContext = BuilderContext :: default () ; } + +pub fn schema( + database: DatabaseConnection, + orm_dataloader: DataLoader, + depth: Option, + complexity: Option, +) -> Result { + let mut builder = Builder::new(&CONTEXT); + seaography::register_entities!(builder, [baker, bakery, cake, cake_baker,]); + let schema = builder.schema_builder(); + let schema = if let Some(depth) = depth { + schema.limit_depth(depth) + } else { + schema + }; + let schema = if let Some(complexity) = complexity { + schema.limit_complexity(complexity) + } else { + schema + }; + schema.data(database).data(orm_dataloader).finish() +} diff --git a/examples/seaography_example/migration/Cargo.toml b/examples/seaography_example/migration/Cargo.toml new file mode 100644 index 00000000..e6f156a0 --- /dev/null +++ b/examples/seaography_example/migration/Cargo.toml @@ -0,0 +1,26 @@ +[workspace] + +[package] +name = "migration" +version = "0.1.0" +edition = "2021" +publish = false + +[lib] +name = "migration" +path = "src/lib.rs" + +[dependencies] +async-std = { version = "1", features = ["attributes", "tokio1"] } + +[dependencies.sea-orm] +path = "../../.." # remove this line in your own project +version = "0.12.1" # sea-orm version + +[dependencies.sea-orm-migration] +path = "../../../sea-orm-migration" # remove this line in your own project +version = "0.12.1" # sea-orm-migration version +features = [ + "runtime-async-std-native-tls", + "sqlx-mysql", +] diff --git a/examples/seaography_example/migration/README.md b/examples/seaography_example/migration/README.md new file mode 100644 index 00000000..cf79bde0 --- /dev/null +++ b/examples/seaography_example/migration/README.md @@ -0,0 +1,51 @@ +# Bakery Schema + +Assume the database is named `bakery`: + +```sh +export DATABASE_URL=mysql://sea:sea@localhost/bakery +``` + +# Re-generate entities + +```sh +sea-orm-cli generate entity --output-dir src/entity +``` + +# Running Migrator CLI + +- Apply all pending migrations + ```sh + cargo run + ``` + ```sh + cargo run -- up + ``` +- Apply first 10 pending migrations + ```sh + cargo run -- up -n 10 + ``` +- Rollback last applied migrations + ```sh + cargo run -- down + ``` +- Rollback last 10 applied migrations + ```sh + cargo run -- down -n 10 + ``` +- Drop all tables from the database, then reapply all migrations + ```sh + cargo run -- fresh + ``` +- Rollback all applied migrations, then reapply all migrations + ```sh + cargo run -- refresh + ``` +- Rollback all applied migrations + ```sh + cargo run -- reset + ``` +- Check the status of all migrations + ```sh + cargo run -- status + ``` diff --git a/examples/seaography_example/migration/src/entity/baker.rs b/examples/seaography_example/migration/src/entity/baker.rs new file mode 100644 index 00000000..a83d1ed2 --- /dev/null +++ b/examples/seaography_example/migration/src/entity/baker.rs @@ -0,0 +1,50 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.1 + +use sea_orm::entity::prelude::*; + +#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)] +#[sea_orm(table_name = "baker")] +pub struct Model { + #[sea_orm(primary_key)] + pub id: i32, + pub name: String, + pub contact: String, + pub bakery_id: Option, +} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] +pub enum Relation { + #[sea_orm( + belongs_to = "super::bakery::Entity", + from = "Column::BakeryId", + to = "super::bakery::Column::Id", + on_update = "Cascade", + on_delete = "Cascade" + )] + Bakery, + #[sea_orm(has_many = "super::cake_baker::Entity")] + CakeBaker, +} + +impl Related for Entity { + fn to() -> RelationDef { + Relation::Bakery.def() + } +} + +impl Related for Entity { + fn to() -> RelationDef { + Relation::CakeBaker.def() + } +} + +impl Related for Entity { + fn to() -> RelationDef { + super::cake_baker::Relation::Cake.def() + } + fn via() -> Option { + Some(super::cake_baker::Relation::Baker.def().rev()) + } +} + +impl ActiveModelBehavior for ActiveModel {} diff --git a/examples/seaography_example/migration/src/entity/bakery.rs b/examples/seaography_example/migration/src/entity/bakery.rs new file mode 100644 index 00000000..82186837 --- /dev/null +++ b/examples/seaography_example/migration/src/entity/bakery.rs @@ -0,0 +1,35 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.1 + +use sea_orm::entity::prelude::*; + +#[derive(Clone, Debug, PartialEq, DeriveEntityModel)] +#[sea_orm(table_name = "bakery")] +pub struct Model { + #[sea_orm(primary_key)] + pub id: i32, + pub name: String, + #[sea_orm(column_type = "Double")] + pub profit_margin: f64, +} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] +pub enum Relation { + #[sea_orm(has_many = "super::baker::Entity")] + Baker, + #[sea_orm(has_many = "super::cake::Entity")] + Cake, +} + +impl Related for Entity { + fn to() -> RelationDef { + Relation::Baker.def() + } +} + +impl Related for Entity { + fn to() -> RelationDef { + Relation::Cake.def() + } +} + +impl ActiveModelBehavior for ActiveModel {} diff --git a/examples/seaography_example/migration/src/entity/cake.rs b/examples/seaography_example/migration/src/entity/cake.rs new file mode 100644 index 00000000..58bc8edc --- /dev/null +++ b/examples/seaography_example/migration/src/entity/cake.rs @@ -0,0 +1,52 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.1 + +use sea_orm::entity::prelude::*; + +#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)] +#[sea_orm(table_name = "cake")] +pub struct Model { + #[sea_orm(primary_key)] + pub id: i32, + pub name: String, + #[sea_orm(column_type = "Decimal(Some((19, 4)))")] + pub price: Decimal, + pub bakery_id: Option, + pub gluten_free: i8, +} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] +pub enum Relation { + #[sea_orm( + belongs_to = "super::bakery::Entity", + from = "Column::BakeryId", + to = "super::bakery::Column::Id", + on_update = "Cascade", + on_delete = "Cascade" + )] + Bakery, + #[sea_orm(has_many = "super::cake_baker::Entity")] + CakeBaker, +} + +impl Related for Entity { + fn to() -> RelationDef { + Relation::Bakery.def() + } +} + +impl Related for Entity { + fn to() -> RelationDef { + Relation::CakeBaker.def() + } +} + +impl Related for Entity { + fn to() -> RelationDef { + super::cake_baker::Relation::Baker.def() + } + fn via() -> Option { + Some(super::cake_baker::Relation::Cake.def().rev()) + } +} + +impl ActiveModelBehavior for ActiveModel {} diff --git a/examples/seaography_example/migration/src/entity/cake_baker.rs b/examples/seaography_example/migration/src/entity/cake_baker.rs new file mode 100644 index 00000000..ace84e2e --- /dev/null +++ b/examples/seaography_example/migration/src/entity/cake_baker.rs @@ -0,0 +1,46 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.1 + +use sea_orm::entity::prelude::*; + +#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)] +#[sea_orm(table_name = "cake_baker")] +pub struct Model { + #[sea_orm(primary_key, auto_increment = false)] + pub cake_id: i32, + #[sea_orm(primary_key, auto_increment = false)] + pub baker_id: i32, +} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] +pub enum Relation { + #[sea_orm( + belongs_to = "super::baker::Entity", + from = "Column::BakerId", + to = "super::baker::Column::Id", + on_update = "Cascade", + on_delete = "Cascade" + )] + Baker, + #[sea_orm( + belongs_to = "super::cake::Entity", + from = "Column::CakeId", + to = "super::cake::Column::Id", + on_update = "Cascade", + on_delete = "Cascade" + )] + Cake, +} + +impl Related for Entity { + fn to() -> RelationDef { + Relation::Baker.def() + } +} + +impl Related for Entity { + fn to() -> RelationDef { + Relation::Cake.def() + } +} + +impl ActiveModelBehavior for ActiveModel {} diff --git a/examples/seaography_example/migration/src/entity/mod.rs b/examples/seaography_example/migration/src/entity/mod.rs new file mode 100644 index 00000000..dc59aec4 --- /dev/null +++ b/examples/seaography_example/migration/src/entity/mod.rs @@ -0,0 +1,8 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.1 + +pub mod prelude; + +pub mod baker; +pub mod bakery; +pub mod cake; +pub mod cake_baker; diff --git a/examples/seaography_example/migration/src/entity/prelude.rs b/examples/seaography_example/migration/src/entity/prelude.rs new file mode 100644 index 00000000..9433bfe6 --- /dev/null +++ b/examples/seaography_example/migration/src/entity/prelude.rs @@ -0,0 +1,6 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.1 + +pub use super::baker::Entity as Baker; +pub use super::bakery::Entity as Bakery; +pub use super::cake::Entity as Cake; +pub use super::cake_baker::Entity as CakeBaker; diff --git a/examples/seaography_example/migration/src/lib.rs b/examples/seaography_example/migration/src/lib.rs new file mode 100644 index 00000000..cdc6fe14 --- /dev/null +++ b/examples/seaography_example/migration/src/lib.rs @@ -0,0 +1,29 @@ +pub use sea_orm_migration::prelude::*; + +mod entity; +mod m20230101_000001_create_bakery_table; +mod m20230101_000002_create_baker_table; +mod m20230101_000003_create_cake_table; +mod m20230101_000004_create_cake_baker_table; +mod m20230101_000005_create_customer_table; +mod m20230101_000006_create_order_table; +mod m20230101_000007_create_lineitem_table; +mod m20230102_000001_seed_bakery_data; + +pub struct Migrator; + +#[async_trait::async_trait] +impl MigratorTrait for Migrator { + fn migrations() -> Vec> { + vec![ + Box::new(m20230101_000001_create_bakery_table::Migration), + Box::new(m20230101_000002_create_baker_table::Migration), + Box::new(m20230101_000003_create_cake_table::Migration), + Box::new(m20230101_000004_create_cake_baker_table::Migration), + // Box::new(m20230101_000005_create_customer_table::Migration), + // Box::new(m20230101_000006_create_order_table::Migration), + // Box::new(m20230101_000007_create_lineitem_table::Migration), + Box::new(m20230102_000001_seed_bakery_data::Migration), + ] + } +} diff --git a/examples/seaography_example/migration/src/m20230101_000001_create_bakery_table.rs b/examples/seaography_example/migration/src/m20230101_000001_create_bakery_table.rs new file mode 100644 index 00000000..efcb681a --- /dev/null +++ b/examples/seaography_example/migration/src/m20230101_000001_create_bakery_table.rs @@ -0,0 +1,40 @@ +use sea_orm_migration::prelude::*; + +#[derive(DeriveMigrationName)] +pub struct Migration; + +#[async_trait::async_trait] +impl MigrationTrait for Migration { + async fn up(&self, manager: &SchemaManager) -> Result<(), DbErr> { + manager + .create_table( + Table::create() + .table(Bakery::Table) + .col( + ColumnDef::new(Bakery::Id) + .integer() + .not_null() + .auto_increment() + .primary_key(), + ) + .col(ColumnDef::new(Bakery::Name).string().not_null()) + .col(ColumnDef::new(Bakery::ProfitMargin).double().not_null()) + .to_owned(), + ) + .await + } + + async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> { + manager + .drop_table(Table::drop().table(Bakery::Table).to_owned()) + .await + } +} + +#[derive(DeriveIden)] +enum Bakery { + Table, + Id, + Name, + ProfitMargin, +} diff --git a/examples/seaography_example/migration/src/m20230101_000002_create_baker_table.rs b/examples/seaography_example/migration/src/m20230101_000002_create_baker_table.rs new file mode 100644 index 00000000..44f0a88d --- /dev/null +++ b/examples/seaography_example/migration/src/m20230101_000002_create_baker_table.rs @@ -0,0 +1,56 @@ +use sea_orm_migration::prelude::*; + +#[derive(DeriveMigrationName)] +pub struct Migration; + +#[async_trait::async_trait] +impl MigrationTrait for Migration { + async fn up(&self, manager: &SchemaManager) -> Result<(), DbErr> { + manager + .create_table( + Table::create() + .table(Baker::Table) + .col( + ColumnDef::new(Baker::Id) + .integer() + .not_null() + .auto_increment() + .primary_key(), + ) + .col(ColumnDef::new(Baker::Name).string().not_null()) + .col(ColumnDef::new(Baker::Contact).string().not_null()) + .col(ColumnDef::new(Baker::BakeryId).integer()) + .foreign_key( + ForeignKey::create() + .name("fk-baker-bakery_id") + .from(Baker::Table, Baker::BakeryId) + .to(Bakery::Table, Bakery::Id) + .on_delete(ForeignKeyAction::Cascade) + .on_update(ForeignKeyAction::Cascade), + ) + .to_owned(), + ) + .await + } + + async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> { + manager + .drop_table(Table::drop().table(Baker::Table).to_owned()) + .await + } +} + +#[derive(DeriveIden)] +enum Baker { + Table, + Id, + Name, + Contact, + BakeryId, +} + +#[derive(DeriveIden)] +enum Bakery { + Table, + Id, +} diff --git a/examples/seaography_example/migration/src/m20230101_000003_create_cake_table.rs b/examples/seaography_example/migration/src/m20230101_000003_create_cake_table.rs new file mode 100644 index 00000000..a73b53f5 --- /dev/null +++ b/examples/seaography_example/migration/src/m20230101_000003_create_cake_table.rs @@ -0,0 +1,58 @@ +use sea_orm_migration::prelude::*; + +#[derive(DeriveMigrationName)] +pub struct Migration; + +#[async_trait::async_trait] +impl MigrationTrait for Migration { + async fn up(&self, manager: &SchemaManager) -> Result<(), DbErr> { + manager + .create_table( + Table::create() + .table(Cake::Table) + .col( + ColumnDef::new(Cake::Id) + .integer() + .not_null() + .auto_increment() + .primary_key(), + ) + .col(ColumnDef::new(Cake::Name).string().not_null()) + .col(ColumnDef::new(Cake::Price).decimal_len(19, 4).not_null()) + .col(ColumnDef::new(Cake::BakeryId).integer()) + .foreign_key( + ForeignKey::create() + .name("fk-cake-bakery_id") + .from(Cake::Table, Cake::BakeryId) + .to(Bakery::Table, Bakery::Id) + .on_delete(ForeignKeyAction::Cascade) + .on_update(ForeignKeyAction::Cascade), + ) + .col(ColumnDef::new(Cake::GlutenFree).boolean().not_null()) + .to_owned(), + ) + .await + } + + async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> { + manager + .drop_table(Table::drop().table(Cake::Table).to_owned()) + .await + } +} + +#[derive(DeriveIden)] +enum Cake { + Table, + Id, + Name, + Price, + GlutenFree, + BakeryId, +} + +#[derive(DeriveIden)] +enum Bakery { + Table, + Id, +} diff --git a/examples/seaography_example/migration/src/m20230101_000004_create_cake_baker_table.rs b/examples/seaography_example/migration/src/m20230101_000004_create_cake_baker_table.rs new file mode 100644 index 00000000..b20926f0 --- /dev/null +++ b/examples/seaography_example/migration/src/m20230101_000004_create_cake_baker_table.rs @@ -0,0 +1,66 @@ +use sea_orm_migration::prelude::*; + +#[derive(DeriveMigrationName)] +pub struct Migration; + +#[async_trait::async_trait] +impl MigrationTrait for Migration { + async fn up(&self, manager: &SchemaManager) -> Result<(), DbErr> { + manager + .create_table( + Table::create() + .table(CakeBaker::Table) + .col(ColumnDef::new(CakeBaker::CakeId).integer().not_null()) + .col(ColumnDef::new(CakeBaker::BakerId).integer().not_null()) + .primary_key( + Index::create() + .name("pk-cake_baker") + .col(CakeBaker::CakeId) + .col(CakeBaker::BakerId), + ) + .foreign_key( + ForeignKey::create() + .name("fk-cake_baker-cake_id") + .from(CakeBaker::Table, CakeBaker::CakeId) + .to(Cake::Table, Cake::Id) + .on_delete(ForeignKeyAction::Cascade) + .on_update(ForeignKeyAction::Cascade), + ) + .foreign_key( + ForeignKey::create() + .name("fk-cake_baker-baker_id") + .from(CakeBaker::Table, CakeBaker::BakerId) + .to(Baker::Table, Baker::Id) + .on_delete(ForeignKeyAction::Cascade) + .on_update(ForeignKeyAction::Cascade), + ) + .to_owned(), + ) + .await + } + + async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> { + manager + .drop_table(Table::drop().table(CakeBaker::Table).to_owned()) + .await + } +} + +#[derive(DeriveIden)] +enum CakeBaker { + Table, + CakeId, + BakerId, +} + +#[derive(DeriveIden)] +enum Baker { + Table, + Id, +} + +#[derive(DeriveIden)] +enum Cake { + Table, + Id, +} diff --git a/examples/seaography_example/migration/src/m20230101_000005_create_customer_table.rs b/examples/seaography_example/migration/src/m20230101_000005_create_customer_table.rs new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/examples/seaography_example/migration/src/m20230101_000005_create_customer_table.rs @@ -0,0 +1 @@ + diff --git a/examples/seaography_example/migration/src/m20230101_000006_create_order_table.rs b/examples/seaography_example/migration/src/m20230101_000006_create_order_table.rs new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/examples/seaography_example/migration/src/m20230101_000006_create_order_table.rs @@ -0,0 +1 @@ + diff --git a/examples/seaography_example/migration/src/m20230101_000007_create_lineitem_table.rs b/examples/seaography_example/migration/src/m20230101_000007_create_lineitem_table.rs new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/examples/seaography_example/migration/src/m20230101_000007_create_lineitem_table.rs @@ -0,0 +1 @@ + diff --git a/examples/seaography_example/migration/src/m20230102_000001_seed_bakery_data.rs b/examples/seaography_example/migration/src/m20230102_000001_seed_bakery_data.rs new file mode 100644 index 00000000..3303bfc0 --- /dev/null +++ b/examples/seaography_example/migration/src/m20230102_000001_seed_bakery_data.rs @@ -0,0 +1,195 @@ +use crate::entity::{prelude::*, *}; +use sea_orm::entity::*; +use sea_orm_migration::prelude::*; + +#[derive(DeriveMigrationName)] +pub struct Migration; + +#[async_trait::async_trait] +impl MigrationTrait for Migration { + async fn up(&self, manager: &SchemaManager) -> Result<(), DbErr> { + let db = manager.get_connection(); + + let bakery = bakery::ActiveModel { + name: Set("SeaSide Bakery".to_owned()), + profit_margin: Set(10.4), + ..Default::default() + }; + let sea = Bakery::insert(bakery).exec(db).await?.last_insert_id; + + let bakery = bakery::ActiveModel { + name: Set("LakeSide Bakery".to_owned()), + profit_margin: Set(5.8), + ..Default::default() + }; + let lake = Bakery::insert(bakery).exec(db).await?.last_insert_id; + + let alice = baker::ActiveModel { + name: Set("Alice".to_owned()), + contact: Set("+44 15273388".to_owned()), + bakery_id: Set(Some(sea)), + ..Default::default() + }; + let alice = Baker::insert(alice).exec(db).await?.last_insert_id; + + let bob = baker::ActiveModel { + name: Set("Bob".to_owned()), + contact: Set("+852 12345678".to_owned()), + bakery_id: Set(Some(lake)), + ..Default::default() + }; + let bob = Baker::insert(bob).exec(db).await?.last_insert_id; + + let cake = cake::ActiveModel { + name: Set("Chocolate Cake".to_owned()), + price: Set("10.25".parse().unwrap()), + gluten_free: Set(0), + bakery_id: Set(Some(sea)), + ..Default::default() + }; + let choco = Cake::insert(cake).exec(db).await?.last_insert_id; + + let mut cake = cake::ActiveModel { + name: Set("Double Chocolate".to_owned()), + price: Set("12.5".parse().unwrap()), + gluten_free: Set(0), + bakery_id: Set(Some(sea)), + ..Default::default() + }; + let double_1 = Cake::insert(cake.clone()).exec(db).await?.last_insert_id; + cake.bakery_id = Set(Some(lake)); + let double_2 = Cake::insert(cake).exec(db).await?.last_insert_id; + + let mut cake = cake::ActiveModel { + name: Set("Lemon Cake".to_owned()), + price: Set("8.8".parse().unwrap()), + gluten_free: Set(0), + bakery_id: Set(Some(sea)), + ..Default::default() + }; + let lemon_1 = Cake::insert(cake.clone()).exec(db).await?.last_insert_id; + cake.bakery_id = Set(Some(lake)); + let lemon_2 = Cake::insert(cake).exec(db).await?.last_insert_id; + + let mut cake = cake::ActiveModel { + name: Set("Strawberry Cake".to_owned()), + price: Set("9.9".parse().unwrap()), + gluten_free: Set(0), + bakery_id: Set(Some(sea)), + ..Default::default() + }; + let straw_1 = Cake::insert(cake.clone()).exec(db).await?.last_insert_id; + cake.bakery_id = Set(Some(lake)); + let straw_2 = Cake::insert(cake).exec(db).await?.last_insert_id; + + let cake = cake::ActiveModel { + name: Set("Orange Cake".to_owned()), + price: Set("6.5".parse().unwrap()), + gluten_free: Set(1), + bakery_id: Set(Some(lake)), + ..Default::default() + }; + let orange = Cake::insert(cake).exec(db).await?.last_insert_id; + + let mut cake = cake::ActiveModel { + name: Set("New York Cheese".to_owned()), + price: Set("12.5".parse().unwrap()), + gluten_free: Set(0), + bakery_id: Set(Some(sea)), + ..Default::default() + }; + let cheese_1 = Cake::insert(cake.clone()).exec(db).await?.last_insert_id; + cake.bakery_id = Set(Some(lake)); + let cheese_2 = Cake::insert(cake).exec(db).await?.last_insert_id; + + let mut cake = cake::ActiveModel { + name: Set("Blueburry Cheese".to_owned()), + price: Set("11.5".parse().unwrap()), + gluten_free: Set(1), + bakery_id: Set(Some(sea)), + ..Default::default() + }; + let blue_1 = Cake::insert(cake.clone()).exec(db).await?.last_insert_id; + cake.bakery_id = Set(Some(lake)); + let blue_2 = Cake::insert(cake).exec(db).await?.last_insert_id; + + let rel = cake_baker::ActiveModel { + cake_id: Set(choco), + baker_id: Set(alice), + }; + CakeBaker::insert(rel).exec(db).await?; + + let rel = cake_baker::ActiveModel { + cake_id: Set(double_1), + baker_id: Set(alice), + }; + CakeBaker::insert(rel).exec(db).await?; + let rel = cake_baker::ActiveModel { + cake_id: Set(double_2), + baker_id: Set(bob), + }; + CakeBaker::insert(rel).exec(db).await?; + + let rel = cake_baker::ActiveModel { + cake_id: Set(lemon_1), + baker_id: Set(alice), + }; + CakeBaker::insert(rel).exec(db).await?; + let rel = cake_baker::ActiveModel { + cake_id: Set(lemon_2), + baker_id: Set(bob), + }; + CakeBaker::insert(rel).exec(db).await?; + + let rel = cake_baker::ActiveModel { + cake_id: Set(straw_1), + baker_id: Set(alice), + }; + CakeBaker::insert(rel).exec(db).await?; + let rel = cake_baker::ActiveModel { + cake_id: Set(straw_2), + baker_id: Set(bob), + }; + CakeBaker::insert(rel).exec(db).await?; + + let rel = cake_baker::ActiveModel { + cake_id: Set(orange), + baker_id: Set(bob), + }; + CakeBaker::insert(rel).exec(db).await?; + + let rel = cake_baker::ActiveModel { + cake_id: Set(cheese_1), + baker_id: Set(alice), + }; + CakeBaker::insert(rel).exec(db).await?; + let rel = cake_baker::ActiveModel { + cake_id: Set(cheese_2), + baker_id: Set(bob), + }; + CakeBaker::insert(rel).exec(db).await?; + + let rel = cake_baker::ActiveModel { + cake_id: Set(blue_1), + baker_id: Set(alice), + }; + CakeBaker::insert(rel).exec(db).await?; + let rel = cake_baker::ActiveModel { + cake_id: Set(blue_2), + baker_id: Set(bob), + }; + CakeBaker::insert(rel).exec(db).await?; + + Ok(()) + } + + async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> { + let db = manager.get_connection(); + + Cake::delete_many().exec(db).await?; + Baker::delete_many().exec(db).await?; + Bakery::delete_many().exec(db).await?; + + Ok(()) + } +} diff --git a/examples/seaography_example/migration/src/main.rs b/examples/seaography_example/migration/src/main.rs new file mode 100644 index 00000000..c6b6e48d --- /dev/null +++ b/examples/seaography_example/migration/src/main.rs @@ -0,0 +1,6 @@ +use sea_orm_migration::prelude::*; + +#[async_std::main] +async fn main() { + cli::run_cli(migration::Migrator).await; +}