risingwave_meta_model_migration/
m20251223_064450_table_change_log.rs1use 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 .create_table(
13 Table::create()
14 .table(HummockTableChangeLog::Table)
15 .if_not_exists()
16 .col(
17 ColumnDef::new(HummockTableChangeLog::TableId)
18 .integer()
19 .not_null(),
20 )
21 .col(
22 ColumnDef::new(HummockTableChangeLog::CheckpointEpoch)
23 .big_integer()
24 .not_null(),
25 )
26 .col(
27 ColumnDef::new(HummockTableChangeLog::NonCheckpointEpochs)
28 .json_binary()
29 .not_null(),
30 )
31 .col(
32 ColumnDef::new(HummockTableChangeLog::NewValueSst)
33 .rw_binary(manager)
34 .not_null(),
35 )
36 .col(
37 ColumnDef::new(HummockTableChangeLog::OldValueSst)
38 .rw_binary(manager)
39 .not_null(),
40 )
41 .primary_key(
42 Index::create()
43 .col(HummockTableChangeLog::TableId)
44 .col(HummockTableChangeLog::CheckpointEpoch),
45 )
46 .to_owned(),
47 )
48 .await
49 }
50
51 async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> {
52 manager
53 .drop_table(Table::drop().table(HummockTableChangeLog::Table).to_owned())
54 .await
55 }
56}
57
58#[derive(DeriveIden)]
59enum HummockTableChangeLog {
60 Table,
61 TableId,
62 CheckpointEpoch,
63 NonCheckpointEpochs,
64 NewValueSst,
65 OldValueSst,
66}