1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
//! oapth
//!
//! Flexible version control for databases through SQL migrations.

#![cfg_attr(not(feature = "std"), no_std)]

#[cfg(any(
  feature = "with-diesel-mysql",
  feature = "with-diesel-postgres",
  feature = "with-diesel-sqlite",
))]
#[macro_use]
extern crate diesel;
extern crate alloc;

#[macro_use]
mod utils;

mod backend;
mod commands;
mod config;
pub mod doc_tests;
mod error;
mod fixed_sql_commands;
mod migration;
#[cfg(feature = "std")]
mod parsers;

#[cfg(any(
  feature = "with-diesel-mysql",
  feature = "with-diesel-postgres",
  feature = "with-diesel-sqlite",
))]
pub use backend::diesel::*;
#[cfg(feature = "with-mysql_async")]
pub use backend::mysql_async::*;
#[cfg(feature = "with-rusqlite")]
pub use backend::rusqlite::*;
#[cfg(any(
  feature = "with-sqlx-mssql",
  feature = "with-sqlx-mysql",
  feature = "with-sqlx-postgres",
  feature = "with-sqlx-sqlite",
))]
pub use backend::sqlx::*;
#[cfg(feature = "with-tiberius")]
pub use backend::tiberius::*;
#[cfg(feature = "with-tokio-postgres")]
pub use backend::tokio_postgres::*;
pub use backend::*;
pub use commands::*;
pub use config::*;
pub use error::*;
pub use migration::{migration_group::*, *};
#[cfg(feature = "std")]
pub use parsers::*;

use alloc::boxed::Box;
use core::{future::Future, pin::Pin};
use migration::{db_migration::*, migration_common::*, migration_params::*};
use utils::*;

const _OAPTH_SCHEMA: &str = "_oapth.";

/// Alias for `Pin<Box<dyn Future<Output = T> + 'a>>`
pub type BoxFut<'a, T> = Pin<Box<dyn Future<Output = T> + 'a>>;
/// Alias for `core::result::Result<T, oapth::Error>`
pub type Result<T> = core::result::Result<T, Error>;