From 7ee917c26adbee4ffcc6564955ca04e978828651 Mon Sep 17 00:00:00 2001 From: Yuhao Su Date: Sun, 16 Jun 2024 21:47:32 -0500 Subject: [PATCH] init --- .../migration/src/m20240525_090457_secret.rs | 26 ++++++++++++++++++- src/meta/model_v2/src/source.rs | 7 +++-- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/meta/model_v2/migration/src/m20240525_090457_secret.rs b/src/meta/model_v2/migration/src/m20240525_090457_secret.rs index f16bfca5ec035..7e5a3156f6f2d 100644 --- a/src/meta/model_v2/migration/src/m20240525_090457_secret.rs +++ b/src/meta/model_v2/migration/src/m20240525_090457_secret.rs @@ -37,7 +37,7 @@ impl MigrationTrait for Migration { ) .await?; - // Add a new column to the table + // Add a new column to the `sink` table manager .alter_table( MigrationTable::alter() @@ -47,6 +47,16 @@ impl MigrationTrait for Migration { ) .await?; + // Add a new column to the `source` table + manager + .alter_table( + MigrationTable::alter() + .table(Source::Table) + .add_column(ColumnDef::new(Source::SecretRef).json_binary()) + .to_owned(), + ) + .await?; + Ok(()) } @@ -60,6 +70,14 @@ impl MigrationTrait for Migration { .to_owned(), ) .await?; + manager + .alter_table( + MigrationTable::alter() + .table(Source::Table) + .drop_column(Source::SecretRef) + .to_owned(), + ) + .await?; Ok(()) } } @@ -77,3 +95,9 @@ enum Sink { Table, SecretRef, } + +#[derive(DeriveIden)] +enum Source { + Table, + SecretRef, +} diff --git a/src/meta/model_v2/src/source.rs b/src/meta/model_v2/src/source.rs index be2d2f7110cab..9d7c71b5886ec 100644 --- a/src/meta/model_v2/src/source.rs +++ b/src/meta/model_v2/src/source.rs @@ -19,8 +19,8 @@ use sea_orm::ActiveValue::Set; use serde::{Deserialize, Serialize}; use crate::{ - ColumnCatalogArray, ConnectionId, I32Array, Property, SourceId, StreamSourceInfo, TableId, - WatermarkDescArray, + ColumnCatalogArray, ConnectionId, I32Array, Property, SecretRef, SourceId, StreamSourceInfo, + TableId, WatermarkDescArray, }; #[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)] @@ -39,6 +39,8 @@ pub struct Model { pub optional_associated_table_id: Option, pub connection_id: Option, pub version: i64, + // `secret_ref` stores a json string, mapping from property name to secret id. + pub secret_ref: Option, } #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] @@ -101,6 +103,7 @@ impl From for ActiveModel { optional_associated_table_id: Set(optional_associated_table_id), connection_id: Set(source.connection_id.map(|id| id as _)), version: Set(source.version as _), + secret_ref: Set(None), } } }