1#![warn(missing_docs)]
2#![doc = include_str!("readme.md")]
3
4#[cfg(any(feature = "limbo", feature = "postgres", feature = "mysql"))]
5mod connection;
6#[cfg(any(feature = "limbo", feature = "postgres", feature = "mysql"))]
7mod extract;
8#[cfg(any(feature = "limbo", feature = "postgres", feature = "mysql"))]
9mod middleware;
10#[cfg(any(feature = "limbo", feature = "postgres", feature = "mysql"))]
11mod orm;
12mod schema;
13#[cfg(any(feature = "limbo", feature = "mysql"))]
14mod types;
15
16#[cfg(any(feature = "limbo", feature = "postgres", feature = "mysql"))]
17pub use connection::{
18 DatabaseBackend, DatabaseConfig, DatabaseConnection, DatabaseError, DatabaseResult, DatabaseRow, DatabaseRows,
19 DatabaseStatement, FromDatabaseValue,
20};
21#[cfg(feature = "limbo")]
22pub use connection::{DatabaseService, LimboConnection};
23#[cfg(feature = "mysql")]
24pub use connection::{MySqlConnection, MySqlDatabaseService};
25#[cfg(feature = "postgres")]
26pub use connection::{PostgresConnection, PostgresDatabaseService};
27#[cfg(feature = "limbo")]
28pub use extract::LimboConnectionExtractor;
29#[cfg(feature = "mysql")]
30pub use extract::MySqlConnectionExtractor;
31#[cfg(feature = "postgres")]
32pub use extract::PostgresConnectionExtractor;
33#[cfg(any(feature = "limbo", feature = "postgres", feature = "mysql"))]
34pub use extract::{DatabaseConnectionExtractor, DatabaseRejection};
35#[cfg(any(feature = "limbo", feature = "postgres", feature = "mysql"))]
36pub use middleware::{TransactionConfig, TransactionLayer, TransactionMiddlewareBuilder, TransactionService};
37#[cfg(feature = "limbo")]
38pub use orm::DbRepository;
39#[cfg(feature = "mysql")]
40pub use orm::MySqlDbRepository;
41#[cfg(any(feature = "limbo", feature = "postgres", feature = "mysql"))]
42pub use orm::{
43 BelongsTo, Condition, DeleteBuilder, Entity, FromRow, HasMany, Join, JoinType, ManyToMany, QueryBuilder, SelectBuilder,
44 ToRow, UpdateBuilder,
45};
46
47#[cfg(any(feature = "limbo", feature = "postgres"))]
48pub use orm::Repository;
49pub use schema::{
50 ColumnDef, ColumnType, DatabaseLinkConfig, DatabaseSchema, DatabaseType, ForeignKeyDef, IndexDef, ReferentialAction,
51 SchemaConfig, TableSchema, clear_schemas, col, create_schema_config_from_registered, export_schema_config_to_yaml,
52 export_schema_config_to_yaml_file, export_schemas_to_yaml, generate_full_sql_for_registered_schemas,
53 generate_full_sql_for_registered_schemas_for, get_registered_schemas, get_schema, load_and_register_schemas_from_yaml_file,
54 load_schema_config_from_yaml, load_schema_config_from_yaml_file, load_schemas_from_yaml, load_schemas_from_yaml_file,
55 register_schema, register_schemas,
56};
57
58#[cfg(debug_assertions)]
59pub use schema::{auto_export_schemas, export_schemas_to_yaml_file, export_sql_for_all_databases};
60pub use wae_types::Value;