drizzle_types/postgres/ddl/
mod.rs1mod check_constraint;
38mod column;
39mod enum_type;
40mod foreign_key;
41mod index;
42mod policy;
43mod primary_key;
44mod privilege;
45mod role;
46mod schema;
47mod sequence;
48pub mod sql;
49mod unique_constraint;
50mod view;
51
52pub use check_constraint::CheckConstraintDef;
54pub use column::{ColumnDef, GeneratedDef, GeneratedType, IdentityDef, IdentityType};
55pub use enum_type::EnumDef;
56pub use foreign_key::{ForeignKeyDef, ReferentialAction};
57pub use index::{IndexColumn, IndexColumnDef, IndexDef, OpclassDef};
58pub use policy::PolicyDef;
59pub use primary_key::PrimaryKeyDef;
60pub use privilege::{PrivilegeDef, PrivilegeType};
61pub use role::RoleDef;
62pub use schema::SchemaDef;
63pub use sequence::SequenceDef;
64pub use unique_constraint::UniqueConstraintDef;
65pub use view::{ViewDef, ViewWithOptionDef};
66
67pub use check_constraint::CheckConstraint;
69pub use column::{Column, Generated, Identity};
70pub use enum_type::Enum;
71pub use foreign_key::ForeignKey;
72pub use index::{Index, Opclass};
73pub use policy::Policy;
74pub use primary_key::PrimaryKey;
75pub use privilege::Privilege;
76pub use role::Role;
77pub use schema::Schema;
78pub use sequence::Sequence;
79pub use unique_constraint::UniqueConstraint;
80pub use view::{View, ViewWithOption};
81
82pub use sql::TableSql;
84
85#[cfg(feature = "serde")]
86pub use crate::serde_helpers::{
87 cow_from_string, cow_option_from_string, cow_option_vec_from_strings, cow_vec_from_strings,
88};
89
90pub const ENTITY_TYPE_SCHEMAS: &str = "schemas";
96pub const ENTITY_TYPE_ENUMS: &str = "enums";
98pub const ENTITY_TYPE_SEQUENCES: &str = "sequences";
100pub const ENTITY_TYPE_ROLES: &str = "roles";
102pub const ENTITY_TYPE_POLICIES: &str = "policies";
104pub const ENTITY_TYPE_TABLES: &str = "tables";
106pub const ENTITY_TYPE_COLUMNS: &str = "columns";
108pub const ENTITY_TYPE_INDEXES: &str = "indexes";
110pub const ENTITY_TYPE_FKS: &str = "fks";
112pub const ENTITY_TYPE_PKS: &str = "pks";
114pub const ENTITY_TYPE_UNIQUES: &str = "uniques";
116pub const ENTITY_TYPE_CHECKS: &str = "checks";
118pub const ENTITY_TYPE_VIEWS: &str = "views";
120pub const ENTITY_TYPE_PRIVILEGES: &str = "privileges";
122
123mod table;
124
125pub use table::{Table, TableDef};
127
128#[derive(Clone, Debug, PartialEq)]
136#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
137#[cfg_attr(feature = "serde", serde(tag = "entityType"))]
138pub enum PostgresEntity {
139 #[cfg_attr(feature = "serde", serde(rename = "schemas"))]
140 Schema(Schema),
141 #[cfg_attr(feature = "serde", serde(rename = "enums"))]
142 Enum(Enum),
143 #[cfg_attr(feature = "serde", serde(rename = "sequences"))]
144 Sequence(Sequence),
145 #[cfg_attr(feature = "serde", serde(rename = "roles"))]
146 Role(Role),
147 #[cfg_attr(feature = "serde", serde(rename = "policies"))]
148 Policy(Policy),
149 #[cfg_attr(feature = "serde", serde(rename = "privileges"))]
150 Privilege(Privilege),
151 #[cfg_attr(feature = "serde", serde(rename = "tables"))]
152 Table(Table),
153 #[cfg_attr(feature = "serde", serde(rename = "columns"))]
154 Column(Column),
155 #[cfg_attr(feature = "serde", serde(rename = "indexes"))]
156 Index(Index),
157 #[cfg_attr(feature = "serde", serde(rename = "fks"))]
158 ForeignKey(ForeignKey),
159 #[cfg_attr(feature = "serde", serde(rename = "pks"))]
160 PrimaryKey(PrimaryKey),
161 #[cfg_attr(feature = "serde", serde(rename = "uniques"))]
162 UniqueConstraint(UniqueConstraint),
163 #[cfg_attr(feature = "serde", serde(rename = "checks"))]
164 CheckConstraint(CheckConstraint),
165 #[cfg_attr(feature = "serde", serde(rename = "views"))]
166 View(View),
167}