geekorm_core/builder/
alter.rs1#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
5pub enum AlterMode {
6 AddTable,
8 RenameTable,
10 DropTable,
12
13 AddColumn,
15 RenameColumn,
17 DropColumn,
19
20 Skip,
22}
23
24#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
26pub struct AlterQuery {
27 pub(crate) mode: AlterMode,
28
29 pub(crate) table: String,
31 pub(crate) column: String,
33 pub(crate) rename: Option<String>,
35}
36
37impl AlterQuery {
38 pub fn new(mode: AlterMode, table: impl Into<String>, column: impl Into<String>) -> Self {
40 Self {
41 mode,
42 table: table.into(),
43 column: column.into(),
44 rename: None,
45 }
46 }
47
48 pub fn rename(&mut self, name: impl Into<String>) -> &mut Self {
50 self.rename = Some(name.into());
51 self
52 }
53
54 pub fn table(&self) -> &str {
56 &self.table
57 }
58}