risingwave_meta_model_migration/
m20251022_294610_source_refresh_mode.rs

1use sea_orm_migration::prelude::*;
2
3use crate::utils::ColumnDefExt;
4
5#[derive(DeriveMigrationName)]
6pub struct Migration;
7
8#[async_trait::async_trait]
9impl MigrationTrait for Migration {
10    async fn up(&self, manager: &SchemaManager) -> Result<(), DbErr> {
11        manager
12            .alter_table(
13                Table::alter()
14                    .table(Source::Table)
15                    // leave binary here for future extension to complex refresh mode, like timer-based refresh mode
16                    .add_column(
17                        ColumnDef::new(Source::RefreshMode)
18                            .rw_binary(manager)
19                            .null(),
20                    )
21                    .to_owned(),
22            )
23            .await
24    }
25
26    async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> {
27        manager
28            .alter_table(
29                Table::alter()
30                    .table(Source::Table)
31                    .drop_column(Source::RefreshMode)
32                    .to_owned(),
33            )
34            .await
35    }
36}
37
38#[derive(DeriveIden)]
39enum Source {
40    Table,
41    RefreshMode,
42}