A Rust workspace scaffolded by Entity Forge with compile-time SeaORM entity generation.
docker run --name mariadb-Belvedere \
-e MYSQL_ROOT_PASSWORD=secret \
-e MYSQL_DATABASE=Belvedere \
-p 3306:3306 \
-d mariadbcp .env.example .env.env.example ships with safe defaults that match the container above.
Edit .env only if you change the password or port.
.env contents:
DATABASE_URL=mysql://root:secret@localhost:3306/BelvedereRight-click bo/src in RustRover → New → Entity.
The dialog will ask for your struct definition and primary key. It then generates all the wiring automatically:
| File | What is written |
|---|---|
bo/src/<entity>.rs |
Struct with #[derive(SeaOrmEntity)] |
bo/src/lib.rs |
pub mod <entity>; appended |
schema.json |
Primary key entry added |
dal/src/<entity>.rs |
Re-exports the generated SeaORM entity |
dal/src/lib.rs |
pub mod <entity>; appended |
pilot/src/main.rs |
use import + create_table_from_entity call added |
cargo run -p pilotcargo buildcargo cleandocker container start mariadb-Belvederedocker container stop mariadb-Belvederedocker exec mariadb-Belvedere \
mariadb -uroot -psecret Belvedere \
-e "DESCRIBE <table_name>;"docker exec mariadb-Belvedere \
mariadb -uroot -psecret Belvedere \
-e "SELECT * FROM <table_name>;"| Derive | Applied to | What it generates |
|---|---|---|
SeaOrmEntity |
BO struct | SeaORM Model, Relation, ActiveModelBehavior, audit fields, table name |
SeaOrmEnum |
Any enum | Display, FromStr, Into<Value>, TryGetable, ValueType, Nullable |