sea_query/index/
mod.rs

1//! Index definition & alternations statements.
2//!
3//! # Usage
4//!
5//! - Table Index Create, see [`IndexCreateStatement`]
6//! - Table Index Drop, see [`IndexDropStatement`]
7
8mod common;
9mod create;
10mod drop;
11
12pub use common::*;
13pub use create::*;
14pub use drop::*;
15
16/// Shorthand for constructing any index statement
17#[derive(Debug, Clone)]
18pub struct Index;
19
20/// All available types of index statement
21#[derive(Debug, Clone)]
22#[non_exhaustive]
23pub enum IndexStatement {
24    Create(IndexCreateStatement),
25    Drop(IndexDropStatement),
26}
27
28impl Index {
29    /// Construct index [`IndexCreateStatement`]
30    pub fn create() -> IndexCreateStatement {
31        IndexCreateStatement::new()
32    }
33
34    /// Construct index [`IndexDropStatement`]
35    pub fn drop() -> IndexDropStatement {
36        IndexDropStatement::new()
37    }
38}