diff --git a/crates/database/migration/src/lib.rs b/crates/database/migration/src/lib.rs index fb7fda90..96464568 100644 --- a/crates/database/migration/src/lib.rs +++ b/crates/database/migration/src/lib.rs @@ -16,6 +16,7 @@ mod m20251001_125444_add_index_processed; mod m20251005_160938_add_initial_l1_block_numbers; mod m20251013_140946_add_initial_l1_processed_block_number; mod m20251021_070729_add_skipped_column; +mod m20251021_144852_add_queue_index_index; mod migration_info; pub use migration_info::{ @@ -44,6 +45,7 @@ impl MigratorTrait for Migrator { Box::new(m20251005_160938_add_initial_l1_block_numbers::Migration), Box::new(m20251013_140946_add_initial_l1_processed_block_number::Migration), Box::new(m20251021_070729_add_skipped_column::Migration), + Box::new(m20251021_144852_add_queue_index_index::Migration), ] } } diff --git a/crates/database/migration/src/m20251021_144852_add_queue_index_index.rs b/crates/database/migration/src/m20251021_144852_add_queue_index_index.rs new file mode 100644 index 00000000..1abef334 --- /dev/null +++ b/crates/database/migration/src/m20251021_144852_add_queue_index_index.rs @@ -0,0 +1,32 @@ +use crate::m20250304_125946_add_l1_msg_table::L1Message; +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> { + // Add index on `queue_index` for the `l1_message` table. + manager + .create_index( + Index::create() + .name("idx_l1_message_queue_index") + .col(L1Message::QueueIndex) + .table(L1Message::Table) + .to_owned(), + ) + .await?; + + Ok(()) + } + + async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> { + // Drop index `queue_index` for the `l1_message` table. + manager + .drop_index( + Index::drop().name("idx_l1_message_queue_index").table(L1Message::Table).to_owned(), + ) + .await + } +}