risingwave_meta_model_migration/
lib.rs1#![allow(clippy::enum_variant_names)]
2
3pub use sea_orm_migration::MigrationStatus;
4pub use sea_orm_migration::prelude::*;
5mod m20230908_072257_init;
6mod m20231008_020431_hummock;
7mod m20240304_074901_subscription;
8mod m20240410_082733_with_version_column_migration;
9mod m20240410_154406_session_params;
10mod m20240417_062305_subscription_internal_table_name;
11mod m20240418_142249_function_runtime;
12mod m20240506_112555_subscription_partial_ckpt;
13mod m20240525_090457_secret;
14mod m20240617_070131_index_column_properties;
15mod m20240617_071625_sink_into_table_column;
16mod m20240618_072634_function_compressed_binary;
17mod m20240630_131430_remove_parallel_unit;
18mod m20240701_060504_hummock_time_travel;
19mod m20240702_080451_system_param_value;
20mod m20240702_084927_unnecessary_fk;
21mod m20240726_063833_auto_schema_change;
22mod m20240806_143329_add_rate_limit_to_source_catalog;
23mod m20240820_081248_add_time_travel_per_table_epoch;
24mod m20240911_083152_variable_vnode_count;
25mod m20241001_013810_webhook_source;
26mod m20241016_065621_hummock_gc_history;
27mod m20241022_072553_node_label;
28mod m20241025_062548_singleton_vnode_count;
29mod m20241115_085007_remove_function_type;
30mod m20241120_182555_hummock_add_time_travel_sst_index;
31mod m20241121_101830_table_engine;
32mod m20241125_043732_connection_params;
33mod m20241202_071413_resource_group;
34mod m20241226_074013_clean_watermark_index_in_pk;
35mod m20250106_072104_fragment_relation;
36mod m20250121_085800_change_wasm_udf_identifier;
37mod m20250210_170743_function_options;
38mod m20250319_062702_mysql_utf8mb4;
39mod m20250325_061743_exactly_once_iceberg_sink_metadata;
40mod m20250509_102041_remove_dispatcher;
41mod m20250514_114514_dispatcher_type_mapping;
42mod m20250522_074525_iceberg_tables;
43mod m20250522_074947_iceberg_namespace_properties;
44mod m20250528_064717_barrier_interval_per_database;
45mod m20250603_084830_default_privilege;
46mod utils;
47
48pub struct Migrator;
49
50#[macro_export]
51macro_rules! assert_not_has_tables {
52 ($manager:expr, $( $table:ident ),+) => {
53 $(
54 assert!(
55 !$manager
56 .has_table($table::Table.to_string())
57 .await?,
58 "Table `{}` already exists",
59 $table::Table.to_string()
60 );
61 )+
62 };
63}
64
65#[macro_export]
66macro_rules! drop_tables {
67 ($manager:expr, $( $table:ident ),+) => {
68 $(
69 $manager
70 .drop_table(
71 sea_orm_migration::prelude::Table::drop()
72 .table($table::Table)
73 .if_exists()
74 .cascade()
75 .to_owned(),
76 )
77 .await?;
78 )+
79 };
80}
81
82#[async_trait::async_trait]
83impl MigratorTrait for Migrator {
84 fn migrations() -> Vec<Box<dyn MigrationTrait>> {
85 vec![
86 Box::new(m20230908_072257_init::Migration),
87 Box::new(m20231008_020431_hummock::Migration),
88 Box::new(m20240304_074901_subscription::Migration),
89 Box::new(m20240410_082733_with_version_column_migration::Migration),
90 Box::new(m20240410_154406_session_params::Migration),
91 Box::new(m20240417_062305_subscription_internal_table_name::Migration),
92 Box::new(m20240418_142249_function_runtime::Migration),
93 Box::new(m20240506_112555_subscription_partial_ckpt::Migration),
94 Box::new(m20240525_090457_secret::Migration),
95 Box::new(m20240617_070131_index_column_properties::Migration),
96 Box::new(m20240617_071625_sink_into_table_column::Migration),
97 Box::new(m20240618_072634_function_compressed_binary::Migration),
98 Box::new(m20240630_131430_remove_parallel_unit::Migration),
99 Box::new(m20240701_060504_hummock_time_travel::Migration),
100 Box::new(m20240702_080451_system_param_value::Migration),
101 Box::new(m20240702_084927_unnecessary_fk::Migration),
102 Box::new(m20240726_063833_auto_schema_change::Migration),
103 Box::new(m20240806_143329_add_rate_limit_to_source_catalog::Migration),
104 Box::new(m20240820_081248_add_time_travel_per_table_epoch::Migration),
105 Box::new(m20240911_083152_variable_vnode_count::Migration),
106 Box::new(m20241001_013810_webhook_source::Migration),
107 Box::new(m20241016_065621_hummock_gc_history::Migration),
108 Box::new(m20241022_072553_node_label::Migration),
109 Box::new(m20241025_062548_singleton_vnode_count::Migration),
110 Box::new(m20241115_085007_remove_function_type::Migration),
111 Box::new(m20241120_182555_hummock_add_time_travel_sst_index::Migration),
112 Box::new(m20241121_101830_table_engine::Migration),
113 Box::new(m20241125_043732_connection_params::Migration),
114 Box::new(m20241202_071413_resource_group::Migration),
115 Box::new(m20241226_074013_clean_watermark_index_in_pk::Migration),
116 Box::new(m20250106_072104_fragment_relation::Migration),
117 Box::new(m20250121_085800_change_wasm_udf_identifier::Migration),
118 Box::new(m20250210_170743_function_options::Migration),
119 Box::new(m20250319_062702_mysql_utf8mb4::Migration),
120 Box::new(m20250325_061743_exactly_once_iceberg_sink_metadata::Migration),
121 Box::new(m20250509_102041_remove_dispatcher::Migration),
122 Box::new(m20250514_114514_dispatcher_type_mapping::Migration),
123 Box::new(m20250522_074525_iceberg_tables::Migration),
124 Box::new(m20250522_074947_iceberg_namespace_properties::Migration),
125 Box::new(m20250528_064717_barrier_interval_per_database::Migration),
126 Box::new(m20250603_084830_default_privilege::Migration),
127 ]
128 }
129}