feat: ship blog platform admin and deploy stack
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
use loco_rs::schema::*;
|
||||
use sea_orm_migration::prelude::*;
|
||||
|
||||
#[derive(DeriveMigrationName)]
|
||||
pub struct Migration;
|
||||
|
||||
#[async_trait::async_trait]
|
||||
impl MigrationTrait for Migration {
|
||||
async fn up(&self, manager: &SchemaManager) -> Result<(), DbErr> {
|
||||
create_table(
|
||||
manager,
|
||||
"notification_deliveries",
|
||||
&[
|
||||
("id", ColType::PkAuto),
|
||||
("subscription_id", ColType::IntegerNull),
|
||||
("channel_type", ColType::String),
|
||||
("target", ColType::String),
|
||||
("event_type", ColType::String),
|
||||
("status", ColType::String),
|
||||
("provider", ColType::StringNull),
|
||||
("response_text", ColType::TextNull),
|
||||
("payload", ColType::JsonBinaryNull),
|
||||
("delivered_at", ColType::StringNull),
|
||||
],
|
||||
&[],
|
||||
)
|
||||
.await?;
|
||||
|
||||
manager
|
||||
.create_index(
|
||||
Index::create()
|
||||
.name("idx_notification_deliveries_event_created_at")
|
||||
.table(Alias::new("notification_deliveries"))
|
||||
.col(Alias::new("event_type"))
|
||||
.col(Alias::new("created_at"))
|
||||
.to_owned(),
|
||||
)
|
||||
.await?;
|
||||
|
||||
manager
|
||||
.create_index(
|
||||
Index::create()
|
||||
.name("idx_notification_deliveries_subscription_created_at")
|
||||
.table(Alias::new("notification_deliveries"))
|
||||
.col(Alias::new("subscription_id"))
|
||||
.col(Alias::new("created_at"))
|
||||
.to_owned(),
|
||||
)
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> {
|
||||
for index_name in [
|
||||
"idx_notification_deliveries_subscription_created_at",
|
||||
"idx_notification_deliveries_event_created_at",
|
||||
] {
|
||||
manager
|
||||
.drop_index(
|
||||
Index::drop()
|
||||
.name(index_name)
|
||||
.table(Alias::new("notification_deliveries"))
|
||||
.to_owned(),
|
||||
)
|
||||
.await?;
|
||||
}
|
||||
|
||||
drop_table(manager, "notification_deliveries").await
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user