
What is Geni?
Geni is a standalone database migration tool designed to work in conjunction with your preferred ORM, toolkit, or code. Built with Rust, it’s blazingly fast, memory-safe, and designed for collaborative teams. The tool allows multiple developers to collaborate without overriding database migrations and can be integrated into your CI/CD pipeline to ensure your database stays up to date alongside your code.Geni was heavily inspired by dbmate and was created to provide robust support for LibSQL and modern database workflows.
Key Features
Multi-Database Support
Works with PostgreSQL, MySQL, MariaDB, SQLite, and LibSQL (Turso)
Timestamp-Based Migrations
Automatic timestamp prefixing prevents migration conflicts in teams
Transaction Support
Run migrations in transactions by default with opt-out capability
Schema Dumping
Automatically dump schema.sql after migrations for version control
CI/CD Ready
GitHub Actions integration and Docker images available
Library & CLI
Use as a CLI tool or integrate as a Rust library in your applications
Supported Databases
Geni provides first-class support for multiple database systems:- PostgreSQL - Full support with native schema dumping
- MySQL - Complete migration support with mysqldump integration
- MariaDB - Full compatibility with mariadb-dump
- SQLite - Native support with built-in schema extraction
- LibSQL - Modern SQLite fork with HTTP support (Turso compatible)
Quick Example
Here’s how simple it is to get started with Geni:Why Choose Geni?
Built with Rust
Lightning fast performance, minimal memory footprint, and memory safety guarantees. Geni is optimized for speed and reliability.
Team Collaboration
Timestamp-based migrations prevent conflicts when multiple developers create migrations simultaneously.
ORM Agnostic
Works alongside any ORM or database toolkit. Use with Diesel, SQLx, SeaORM, or raw SQL.
Production Ready
Used in production environments with Docker support, GitHub Actions, and comprehensive error handling.
Getting Started
Installation
Install Geni via Homebrew, Cargo, Docker, GitHub releases, or package managers
Quickstart Tutorial
Learn the basics with a hands-on tutorial in under 5 minutes
Configuration
Configure migrations folder, database URLs, and environment variables
Commands Reference
Complete reference for all Geni CLI commands and options
