Merge pull request #140 from SeaQL/test-vec-u8

Testing Vec<u8>
This commit is contained in:
Chris Tsang 2021-09-10 17:37:31 +08:00 committed by GitHub
commit 62edf18582
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 16 additions and 8 deletions

View File

@ -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 }

View File

@ -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(),

View File

@ -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)]

View File

@ -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

View File

@ -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()
}