TideORM 🌊
A developer-friendly ORM for Rust with clean, expressive syntax.
✨ Features
- 🎯 Clean Model Definitions - Simple
#[derive(Model)]macro - ⚡ Async-First - Built for modern async/await workflows
- 🔄 Auto Schema Sync - Automatic table management during development
- 🛡️ Type Safe - Full Rust type safety with zero compromises
- 🗃️ Multi-Database - PostgreSQL, MySQL, and SQLite support
- 📦 Batteries Included:
- Fluent Query Builder with Window Functions & CTEs
- Database Migrations & Seeding
- Model Validation System
- Translations (i18n) for multilingual content
- File Attachments with metadata
- Full-Text Search with highlighting
- Soft Deletes & Callbacks
- Transaction Support
🚀 Quick Start
use *;
use ;
async
📦 Installation
[]
# PostgreSQL (default)
= { = "0.3", = ["postgres"] }
# MySQL
= { = "0.3", = ["mysql"] }
# SQLite
= { = "0.3", = ["sqlite"] }
Feature Flags
| Feature | Description |
|---|---|
postgres |
PostgreSQL support (default) |
mysql |
MySQL/MariaDB support |
sqlite |
SQLite support |
runtime-tokio |
Tokio runtime (default) |
runtime-async-std |
async-std runtime |
📖 Documentation
For detailed documentation on all features, see DOCUMENTATION.md.
Key sections:
- Configuration - Database connections and pool settings
- Model Definition - Defining your models
- Query Builder - Building complex queries
- CRUD Operations - Create, Read, Update, Delete
- Soft Deletes - Soft delete support
- Transactions - Transaction handling
- Callbacks - Lifecycle hooks
- File Attachments - Manage file relationships
- Translations (i18n) - Multilingual content
- Validation - Data validation rules
- Full-Text Search - Search with highlighting
- Multi-Database - Cross-database compatibility
📚 Examples & Testing
Run an example:
Run tests:
See the examples directory and DOCUMENTATION.md for more.
Rusty Rails Project
TideORM is part of the larger Rusty Rails project, which aims to bridge the gap between Rust and Ruby/Ruby on Rails ecosystems. We're actively working on recreating Ruby libraries in Rust to make working with Rust more easy and fun for new developers.
Related Projects
- 🔗 More Rust libraries coming soon!
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by the Rusty Rails team