drizzle_cli/
lib.rs

1//! Drizzle CLI - Command-line interface for drizzle-rs migrations
2//!
3//! This crate provides a standalone CLI tool for managing database migrations
4//! using a `drizzle.config.toml` configuration file instead of requiring Rust code.
5//!
6//! # Quick Start
7//!
8//! 1. Install the CLI: `cargo install drizzle-cli`
9//! 2. Run `drizzle init` to create a `drizzle.config.toml`
10//! 3. Run `drizzle generate` to create migrations
11//!
12//! # Configuration
13//!
14//! Create a `drizzle.config.toml` file in your project root (or run `drizzle init`):
15//!
16//! ```toml
17//! dialect = "sqlite"
18//! schema = "src/schema.rs"
19//! out = "./drizzle"
20//!
21//! [dbCredentials]
22//! url = "./dev.db"
23//! ```
24//!
25//! For PostgreSQL:
26//!
27//! ```toml
28//! dialect = "postgresql"
29//! schema = "src/schema.rs"
30//! out = "./drizzle"
31//!
32//! [dbCredentials]
33//! url = "postgres://user:pass@localhost:5432/mydb"
34//! ```
35//!
36//! # Commands
37//!
38//! - `drizzle init` - Create a new drizzle.config.toml configuration file
39//! - `drizzle generate` - Generate a new migration from schema changes
40//! - `drizzle generate --custom` - Create an empty migration for manual SQL
41//! - `drizzle status` - Show migration status
42//! - `drizzle migrate` - Run pending migrations (requires database connection)
43//! - `drizzle push` - Push schema directly to database (requires database connection)
44//! - `drizzle introspect` - Introspect database and generate snapshot (requires database connection)
45
46pub mod commands;
47pub mod config;
48pub mod db;
49pub mod error;
50pub mod output;
51pub mod snapshot;
52
53pub use config::{Config, Credentials, Dialect, Driver, Error as ConfigError};
54pub use error::CliError;
55
56// Backwards compatibility alias
57pub type DrizzleConfig = Config;