From ff728ef6f3dcf09f67003f8798f34163d63327fc Mon Sep 17 00:00:00 2001 From: aprilthepink Date: Thu, 18 Apr 2024 01:59:16 +0200 Subject: [PATCH] [fix] make third mig sqlite compatible --- .gitignore | 3 +- .../src/m20240417_233430_post_user_keys.rs | 47 +++++++++++++------ 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index 024690a..39f22b2 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ /result /result-lib .direnv -migration/target \ No newline at end of file +migration/target +db.sqlite \ No newline at end of file diff --git a/migration/src/m20240417_233430_post_user_keys.rs b/migration/src/m20240417_233430_post_user_keys.rs index f08db5c..41a7872 100644 --- a/migration/src/m20240417_233430_post_user_keys.rs +++ b/migration/src/m20240417_233430_post_user_keys.rs @@ -8,45 +8,62 @@ pub struct Migration; #[async_trait::async_trait] impl MigrationTrait for Migration { async fn up(&self, manager: &SchemaManager) -> Result<(), DbErr> { + + manager.drop_table(Table::drop().table(Post::Table).to_owned()).await?; + manager - .alter_table( - Table::alter() + .create_table( + Table::create() .table(Post::Table) - .add_foreign_key( + .if_not_exists() + .col(ColumnDef::new(Post::Id).string().not_null().primary_key()) + .col(ColumnDef::new(Post::Title).string()) + .col(ColumnDef::new(Post::Content).string().not_null()) + .col(ColumnDef::new(Post::Local).boolean().not_null()) + .col(ColumnDef::new(Post::CreatedAt).timestamp().not_null()) + .col(ColumnDef::new(Post::UpdatedAt).timestamp()) + .col(ColumnDef::new(Post::ReblogId).string()) + .col(ColumnDef::new(Post::ContentType).string().not_null()) + .col(ColumnDef::new(Post::Visibility).string().not_null()) + .col(ColumnDef::new(Post::ReplyId).string()) + .col(ColumnDef::new(Post::QuotingId).string()) + .col(ColumnDef::new(Post::Sensitive).boolean().not_null()) + .col(ColumnDef::new(Post::SpoilerText).string()) + .col(ColumnDef::new(Post::Creator).string().not_null()) + .col(ColumnDef::new(Post::Url).string().not_null()) + .foreign_key( ForeignKey::create() .name("fk_post_creator_user_id") .from(Post::Table, Post::Creator) .to(User::Table, User::Id) - .on_delete(ForeignKeyAction::Cascade) - .get_foreign_key(), + .on_delete(ForeignKeyAction::Cascade), ) - .add_foreign_key( + .foreign_key( ForeignKey::create() .name("fk_post_reblog_id") .from(Post::Table, Post::ReblogId) .to(Post::Table, Post::Id) - .on_delete(ForeignKeyAction::Cascade) - .get_foreign_key(), + .on_delete(ForeignKeyAction::Cascade), ) - .add_foreign_key( + .foreign_key( ForeignKey::create() .name("fk_post_reply_id") .from(Post::Table, Post::ReplyId) .to(Post::Table, Post::Id) - .on_delete(ForeignKeyAction::Cascade) - .get_foreign_key(), + .on_delete(ForeignKeyAction::Cascade), ) - .add_foreign_key( + .foreign_key( ForeignKey::create() .name("fk_post_quoting_id") .from(Post::Table, Post::QuotingId) .to(Post::Table, Post::Id) - .on_delete(ForeignKeyAction::Cascade) - .get_foreign_key(), + .on_delete(ForeignKeyAction::Cascade), ) .to_owned(), ) - .await + .await?; + + Ok(()) } async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> {