reifydb_core/interface/catalog/
migration.rs1use serde::{Deserialize, Serialize};
5
6use crate::interface::catalog::id::{MigrationEventId, MigrationId};
7
8#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
10pub struct MigrationDef {
11 pub id: MigrationId,
12 pub name: String,
13 pub body: String,
15 pub rollback_body: Option<String>,
17}
18
19#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
22pub struct MigrationEvent {
23 pub id: MigrationEventId,
24 pub migration_id: MigrationId,
25 pub action: MigrationAction,
26}
27
28#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
30pub enum MigrationAction {
31 Applied,
32 Rollback,
33}