Skip to main content

vespertide_core/
lib.rs

1//! Core data structures for vespertide schema definition and migration planning.
2//!
3//! - [`TableDef`], [`ColumnDef`]: schema model
4//! - [`MigrationAction`], [`MigrationPlan`]: typed migration operations
5//! - [`MigrationError`]: runtime migration error type
6
7pub mod action;
8#[cfg(feature = "arbitrary")]
9pub mod arbitrary;
10pub mod migration;
11pub mod schema;
12pub mod sql_escape;
13
14pub use action::{
15    DataMigrationSql, MigrationAction, MigrationPlan, NarrowingStrategy, leading_ddl_keyword,
16};
17pub use migration::{MigrationError, MigrationOptions};
18pub use schema::{
19    CheckViolationStrategy, ColumnDef, ColumnName, ColumnType, ComplexColumnType, ConstraintKind,
20    DefaultValue, EnumValues, ForeignKeyOrphanStrategy, IndexDef, IndexName, KeepPolicy, NumValue,
21    PrimaryKeyAdditionStrategy, ReferenceAction, SimpleColumnType, StrOrBoolOrArray, StringOrBool,
22    TableConstraint, TableDef, TableName, TableValidationError, UniqueConstraintStrategy,
23};
24pub use sql_escape::escape_sql_string_literal;