commit
62edf18582
@ -30,7 +30,7 @@ futures-util = { version = "^0.3" }
|
||||
log = { version = "^0.4", optional = true }
|
||||
rust_decimal = { version = "^1", optional = true }
|
||||
sea-orm-macros = { version = "^0.2", path = "sea-orm-macros", optional = true }
|
||||
sea-query = { version = "^0.16", features = ["thread-safe"] }
|
||||
sea-query = { version = "^0.16.1", features = ["thread-safe"] }
|
||||
sea-strum = { version = "^0.21", features = ["derive", "sea-orm"] }
|
||||
serde = { version = "^1.0", features = ["derive"] }
|
||||
serde_json = { version = "^1", optional = true }
|
||||
|
@ -167,6 +167,7 @@ pub fn expand_derive_entity_model(data: Data, attrs: Vec<Attribute>) -> syn::Res
|
||||
"Uuid" => quote! { Uuid },
|
||||
"Json" => quote! { Json },
|
||||
"Decimal" => quote! { Decimal },
|
||||
"Vec<u8>" => quote! { Binary },
|
||||
_ => {
|
||||
return Err(Error::new(
|
||||
field.span(),
|
||||
|
@ -8,6 +8,7 @@ pub struct Model {
|
||||
pub uuid: Uuid,
|
||||
pub key: String,
|
||||
pub value: String,
|
||||
pub bytes: Vec<u8>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter)]
|
||||
|
@ -281,6 +281,7 @@ pub async fn create_metadata_table(db: &DbConn) -> Result<ExecResult, DbErr> {
|
||||
)
|
||||
.col(ColumnDef::new(metadata::Column::Key).string().not_null())
|
||||
.col(ColumnDef::new(metadata::Column::Value).string().not_null())
|
||||
.col(ColumnDef::new(metadata::Column::Bytes).binary().not_null())
|
||||
.to_owned();
|
||||
|
||||
create_table(db, &stmt, Metadata).await
|
||||
|
@ -1,7 +1,7 @@
|
||||
pub mod common;
|
||||
|
||||
pub use common::{bakery_chain::*, setup::*, TestContext};
|
||||
use sea_orm::{entity::prelude::*, DatabaseConnection, Set};
|
||||
use sea_orm::{entity::prelude::*, DatabaseConnection, IntoActiveModel};
|
||||
use uuid::Uuid;
|
||||
|
||||
#[sea_orm_macros::test]
|
||||
@ -21,18 +21,23 @@ async fn main() -> Result<(), DbErr> {
|
||||
}
|
||||
|
||||
pub async fn create_metadata(db: &DatabaseConnection) -> Result<(), DbErr> {
|
||||
let metadata = metadata::ActiveModel {
|
||||
uuid: Set(Uuid::new_v4()),
|
||||
key: Set("markup".to_owned()),
|
||||
value: Set("1.18".to_owned()),
|
||||
let metadata = metadata::Model {
|
||||
uuid: Uuid::new_v4(),
|
||||
key: "markup".to_owned(),
|
||||
value: "1.18".to_owned(),
|
||||
bytes: vec![1, 2, 3],
|
||||
};
|
||||
|
||||
let res = Metadata::insert(metadata.clone()).exec(db).await?;
|
||||
let res = Metadata::insert(metadata.clone().into_active_model())
|
||||
.exec(db)
|
||||
.await?;
|
||||
|
||||
assert_eq!(Metadata::find().one(db).await?, Some(metadata.clone()));
|
||||
|
||||
assert_eq!(
|
||||
res.last_insert_id,
|
||||
if cfg!(feature = "sqlx-postgres") {
|
||||
metadata.uuid.unwrap()
|
||||
metadata.uuid
|
||||
} else {
|
||||
Default::default()
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user