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 m20250702_062029_cdc_table_snapshot_splits;
47mod m20250710_065220_sink_auto_refresh_schema;
48mod m20250722_155040_table_refreshable;
49mod m20250729_174630_add_vector_index_info;
50mod m20250810_000000_add_user_admin_field;
51mod m20250819_014448_add_version_column_indices_to_table;
52mod m20250820_120000_add_cdc_table_type;
53mod m20250821_081110_cdc_table_snapshot_splits_add_column;
54mod m20250905_144810_deprecate_table_incoming_sinks;
55mod m20250916_120000_add_refresh_fields;
56mod m20251005_000000_fragment_splits;
57mod m20251016_220528_fragment_parallelism;
58mod m20251022_294610_source_refresh_mode;
59mod m20251030_120000_refresh_jobs;
60mod m20251112_114514_streaming_job_config_override;
61mod m20251124_195858_pending_sink_state;
62mod m20251126_093529_add_is_iceberg_compactor;
63mod m20251208_134652_clean_watermark_indices;
64mod utils;
65
66pub struct Migrator;
67
68#[macro_export]
69macro_rules! assert_not_has_tables {
70 ($manager:expr, $( $table:ident ),+) => {
71 $(
72 assert!(
73 !$manager
74 .has_table($table::Table.to_string())
75 .await?,
76 "Table `{}` already exists",
77 $table::Table.to_string()
78 );
79 )+
80 };
81}
82
83#[macro_export]
84macro_rules! drop_tables {
85 ($manager:expr, $( $table:ident ),+) => {
86 $(
87 $manager
88 .drop_table(
89 sea_orm_migration::prelude::Table::drop()
90 .table($table::Table)
91 .if_exists()
92 .cascade()
93 .to_owned(),
94 )
95 .await?;
96 )+
97 };
98}
99
100#[async_trait::async_trait]
101impl MigratorTrait for Migrator {
102 fn migrations() -> Vec<Box<dyn MigrationTrait>> {
103 vec![
104 Box::new(m20230908_072257_init::Migration),
105 Box::new(m20231008_020431_hummock::Migration),
106 Box::new(m20240304_074901_subscription::Migration),
107 Box::new(m20240410_082733_with_version_column_migration::Migration),
108 Box::new(m20240410_154406_session_params::Migration),
109 Box::new(m20240417_062305_subscription_internal_table_name::Migration),
110 Box::new(m20240418_142249_function_runtime::Migration),
111 Box::new(m20240506_112555_subscription_partial_ckpt::Migration),
112 Box::new(m20240525_090457_secret::Migration),
113 Box::new(m20240617_070131_index_column_properties::Migration),
114 Box::new(m20240617_071625_sink_into_table_column::Migration),
115 Box::new(m20240618_072634_function_compressed_binary::Migration),
116 Box::new(m20240630_131430_remove_parallel_unit::Migration),
117 Box::new(m20240701_060504_hummock_time_travel::Migration),
118 Box::new(m20240702_080451_system_param_value::Migration),
119 Box::new(m20240702_084927_unnecessary_fk::Migration),
120 Box::new(m20240726_063833_auto_schema_change::Migration),
121 Box::new(m20240806_143329_add_rate_limit_to_source_catalog::Migration),
122 Box::new(m20240820_081248_add_time_travel_per_table_epoch::Migration),
123 Box::new(m20240911_083152_variable_vnode_count::Migration),
124 Box::new(m20241001_013810_webhook_source::Migration),
125 Box::new(m20241016_065621_hummock_gc_history::Migration),
126 Box::new(m20241022_072553_node_label::Migration),
127 Box::new(m20241025_062548_singleton_vnode_count::Migration),
128 Box::new(m20241115_085007_remove_function_type::Migration),
129 Box::new(m20241120_182555_hummock_add_time_travel_sst_index::Migration),
130 Box::new(m20241121_101830_table_engine::Migration),
131 Box::new(m20241125_043732_connection_params::Migration),
132 Box::new(m20241202_071413_resource_group::Migration),
133 Box::new(m20241226_074013_clean_watermark_index_in_pk::Migration),
134 Box::new(m20250106_072104_fragment_relation::Migration),
135 Box::new(m20250121_085800_change_wasm_udf_identifier::Migration),
136 Box::new(m20250210_170743_function_options::Migration),
137 Box::new(m20250319_062702_mysql_utf8mb4::Migration),
138 Box::new(m20250325_061743_exactly_once_iceberg_sink_metadata::Migration),
139 Box::new(m20250509_102041_remove_dispatcher::Migration),
140 Box::new(m20250514_114514_dispatcher_type_mapping::Migration),
141 Box::new(m20250522_074525_iceberg_tables::Migration),
142 Box::new(m20250522_074947_iceberg_namespace_properties::Migration),
143 Box::new(m20250528_064717_barrier_interval_per_database::Migration),
144 Box::new(m20250603_084830_default_privilege::Migration),
145 Box::new(m20250702_062029_cdc_table_snapshot_splits::Migration),
146 Box::new(m20250710_065220_sink_auto_refresh_schema::Migration),
147 Box::new(m20250722_155040_table_refreshable::Migration),
148 Box::new(m20250729_174630_add_vector_index_info::Migration),
149 Box::new(m20250810_000000_add_user_admin_field::Migration),
150 Box::new(m20250819_014448_add_version_column_indices_to_table::Migration),
151 Box::new(m20250820_120000_add_cdc_table_type::Migration),
152 Box::new(m20250821_081110_cdc_table_snapshot_splits_add_column::Migration),
153 Box::new(m20250905_144810_deprecate_table_incoming_sinks::Migration),
154 Box::new(m20250916_120000_add_refresh_fields::Migration),
155 Box::new(m20251005_000000_fragment_splits::Migration),
156 Box::new(m20251016_220528_fragment_parallelism::Migration),
157 Box::new(m20251022_294610_source_refresh_mode::Migration),
158 Box::new(m20251030_120000_refresh_jobs::Migration),
159 Box::new(m20251112_114514_streaming_job_config_override::Migration),
160 Box::new(m20251126_093529_add_is_iceberg_compactor::Migration),
161 Box::new(m20251124_195858_pending_sink_state::Migration),
162 Box::new(m20251208_134652_clean_watermark_indices::Migration),
163 ]
164 }
165}