risingwave_meta_model_migration/
lib.rs

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