use sea_orm_migration::{prelude::*, schema::*}; #[derive(DeriveMigrationName)] pub struct Migration; #[async_trait::async_trait] impl MigrationTrait for Migration { async fn up(&self, manager: &SchemaManager) -> Result<(), DbErr> { manager .create_foreign_key( ForeignKey::create() .name("fk_expenditure_transaction_id") .from(Expenditure::Table, Expenditure::TransactionId) .to(Transaction::Table, Transaction::Id) .on_delete(ForeignKeyAction::Cascade) .to_owned(), ) .await?; Ok(()) } async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> { manager.drop_foreign_key(ForeignKey::drop().name("fk_expenditure_transaction_id").to_owned()).await?; Ok(()) } } #[derive(DeriveIden)] enum Transaction { Table, Id, } #[derive(DeriveIden)] enum Expenditure { Table, TransactionId, }