sea-orm-verify

Provides Verify derive macro.

```rust, ignore

[derive(DeriveEntityModel, Verify)]

[derive(Debug, Clone, PartialEq)]

[seaorm(tablename = "task")]

pub struct Model { #[seaorm(primarykey)] pub id: u32, pub finish_at: Option, } ```

generates

rust, ignore impl Model { async fn _verify() { sqlx::query_as!(Self, "SELECT id, finish_at FROM task"); } }

this will cause sqlx queryas macro to verify the struct fields with the database at compile time needs to have setup DATABASEURL for example using .env or sqlx offline data. Please refer to docs.rs/sqlx

it also needs sqlx as a dependency in your project, for example for Postgres in Cargo.toml it needs: toml sqlx = { version = "0.6", features = ["runtime-tokio-rustls", "postgres"] }

Please be aware that sqlx and sea-orm column mapping might be not 100% compatible and this check might fail to catch some column type mismatch you still have

Supported struct attributes inside #[sea_orm(): * table_name - gets the database table name * schema_name - gets the database schema name (for Postgres)

Supported field attributes inside #[verify()]: * type_override - override sqlx type like described in Force a Different/Custom Type, useful for custom enums. Enum need to annotated with #[derive(sqlx::Type) and #[sqlx(type_name = "integer")] * not_null - forces the column to be NOT NULL, useful for example for db views where sqlx get the nullable wrong. * null - same as not_null but forces the column to be NULL