From 99dd2b8f344f4698f01a7f2337fa6acb91ba2e9a Mon Sep 17 00:00:00 2001 From: Scotte Zinn Date: Wed, 14 Aug 2024 06:14:04 -0400 Subject: [PATCH] feat: Add entities (#45) --- Cargo.lock | 2 ++ Taskfile.yaml | 4 ++-- crates/arch-db/Cargo.toml | 2 ++ crates/arch-db/src/entities/mod.rs | 5 +++++ crates/arch-db/src/entities/post.rs | 18 ++++++++++++++++++ crates/arch-db/src/entities/prelude.rs | 3 +++ crates/arch-db/src/lib.rs | 1 + 7 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 crates/arch-db/src/entities/mod.rs create mode 100644 crates/arch-db/src/entities/post.rs create mode 100644 crates/arch-db/src/entities/prelude.rs diff --git a/Cargo.lock b/Cargo.lock index f406474..9b00388 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -169,6 +169,8 @@ version = "0.2.0" dependencies = [ "sea-orm", "sea-orm-migration", + "serde", + "serde_json", "thiserror", "tracing", "tracing-log", diff --git a/Taskfile.yaml b/Taskfile.yaml index f7e6d5b..4d8e157 100644 --- a/Taskfile.yaml +++ b/Taskfile.yaml @@ -61,5 +61,5 @@ tasks: entities: desc: Generate entities cmds: - - DATABASE_URL=$RUST_ARCH__DATABASE_URL cargo run --bin migrator -- up - - sea-orm-cli generate entity -o crates/arch-db/src/entities --with-serde both -u $RUST_ARCH__DATABASE_URL + - DATABASE_URL=$RUST_ARCH__DATABASE__DATABASE_URL cargo run --bin migrator -- up + - sea-orm-cli generate entity -o crates/arch-db/src/entities --with-serde both -u $RUST_ARCH__DATABASE__DATABASE_URL diff --git a/crates/arch-db/Cargo.toml b/crates/arch-db/Cargo.toml index 3ae95bd..b2a7fc2 100644 --- a/crates/arch-db/Cargo.toml +++ b/crates/arch-db/Cargo.toml @@ -15,6 +15,8 @@ name = "arch_db" path = "src/lib.rs" [dependencies] +serde.workspace = true +serde_json.workspace = true thiserror.workspace = true tracing.workspace = true tracing-log.workspace = true diff --git a/crates/arch-db/src/entities/mod.rs b/crates/arch-db/src/entities/mod.rs new file mode 100644 index 0000000..8267a0f --- /dev/null +++ b/crates/arch-db/src/entities/mod.rs @@ -0,0 +1,5 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.15 + +pub mod prelude; + +pub mod post; diff --git a/crates/arch-db/src/entities/post.rs b/crates/arch-db/src/entities/post.rs new file mode 100644 index 0000000..c8060c2 --- /dev/null +++ b/crates/arch-db/src/entities/post.rs @@ -0,0 +1,18 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.15 + +use sea_orm::entity::prelude::*; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)] +#[sea_orm(table_name = "post")] +pub struct Model { + #[sea_orm(primary_key)] + pub id: i32, + pub title: String, + pub text: String, +} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] +pub enum Relation {} + +impl ActiveModelBehavior for ActiveModel {} diff --git a/crates/arch-db/src/entities/prelude.rs b/crates/arch-db/src/entities/prelude.rs new file mode 100644 index 0000000..4123b21 --- /dev/null +++ b/crates/arch-db/src/entities/prelude.rs @@ -0,0 +1,3 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.15 + +pub use super::post::Entity as Post; diff --git a/crates/arch-db/src/lib.rs b/crates/arch-db/src/lib.rs index ee8a26c..6e5ac98 100644 --- a/crates/arch-db/src/lib.rs +++ b/crates/arch-db/src/lib.rs @@ -3,6 +3,7 @@ use std::sync::Arc; use sea_orm::{ConnectOptions, Database, DatabaseConnection}; pub use sea_orm_migration::prelude::*; +pub mod entities; pub mod error; pub use error::*; use tracing_log::log;