v0.5.0 - Schema Import & Performance
π What's New in v0.5.0
β¨ Major Features
prax-import - Schema Migration Tool
Convert your existing ORM schemas to Prax format! Now supports:
- Prisma - Parse
.prismaschema files - Diesel - Parse
table!macro definitions - SeaORM - Parse
DeriveEntityModelentities
# Import from Prisma
prax import --from prisma --input schema.prisma --output schema.prax
# Import from Diesel
prax import --from diesel --input schema.rs --output schema.prax
# Import from SeaORM
prax import --from sea-orm --input entity/mod.rs --output schema.praxπ Performance Improvements
Massive parsing speed improvements through regex caching:
| Parser | Throughput | Speedup |
|---|---|---|
| Prisma | 7,675 schemas/sec | 2.31x faster |
| Diesel | 8,135 schemas/sec | 1.80x faster |
| SeaORM | 7,799 schemas/sec | New! |
π¦ What's Included
- New Crate:
prax-importwith full type mapping support - CLI Integration:
prax importcommand with auto-detection - Benchmarks: Criterion.rs benchmark suite with detailed metrics
- Documentation: README, BENCHMARKS.md, type mapping tables
- Tests: 13 passing tests with comprehensive coverage
π Type Mappings
All ORMs map cleanly to Prax types:
- Integer types β
Int,BigInt - String types β
String,Text - Decimal β
Decimal,Float - Boolean β
Boolean - DateTime/Timestamp β
DateTime - JSON/JSONB β
Json - UUID β
Uuid
π Resources
- Documentation: https://pegasusheavy.github.io/prax
- Migration Guide: https://pegasusheavy.github.io/prax/guides/migration.html
- Changelog: https://github.com/pegasusheavy/prax/blob/main/CHANGELOG.md
π‘ Quick Example
use prax_import::{import_prisma_schema, import_diesel_schema, import_seaorm_entity};
// Convert Prisma schema
let prax_schema = import_prisma_schema(&prisma_content)?;
std::fs::write("schema.prax", prax_schema.to_string())?;π Thank You
Special thanks to the Rust community and everyone testing the beta!
Full Changelog: https://github.com/pegasusheavy/prax/blob/main/CHANGELOG.md#050---2026-01-07