data_modelling_sdk/models/
enums.rs1use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
7pub enum DatabaseType {
8 DatabricksDelta,
9 DatabricksIceberg,
10 AwsGlue,
11 DatabricksLakebase,
12 Postgres,
13 Mysql,
14 SqlServer,
15 Dynamodb,
16 Cassandra,
17 Kafka,
18 Pulsar,
19}
20
21#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
22#[serde(rename_all = "lowercase")]
23pub enum MedallionLayer {
24 Bronze,
25 Silver,
26 Gold,
27 Operational,
28}
29
30#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
31#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
32pub enum SCDPattern {
33 Type1,
34 Type2,
35}
36
37#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
38pub enum DataVaultClassification {
39 Hub,
40 Link,
41 Satellite,
42}
43
44#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
45#[serde(rename_all = "lowercase")]
46pub enum ModelingLevel {
47 Conceptual,
48 Logical,
49 Physical,
50}
51
52#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
53#[serde(rename_all = "PascalCase")]
54pub enum Cardinality {
55 OneToOne,
56 OneToMany,
57 ManyToOne,
58 ManyToMany,
59}
60
61#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
62#[serde(rename_all = "PascalCase")]
63pub enum RelationshipType {
64 DataFlow,
65 Dependency,
66 ForeignKey,
67 EtlTransformation,
68}