migrations.rs (3893B)
1 struct Migration { 2 version: u32, 3 sql: &'static str, 4 } 5 6 const MIGRATIONS: &[Migration] = &[ 7 Migration { 8 version: 1, 9 sql: include_str!("../migrations/0001_init.sql"), 10 }, 11 Migration { 12 version: 2, 13 sql: include_str!("../migrations/0002_activity_journal.sql"), 14 }, 15 Migration { 16 version: 3, 17 sql: include_str!("../migrations/0003_account_surface_activation.sql"), 18 }, 19 Migration { 20 version: 4, 21 sql: include_str!("../migrations/0004_account_farm_setup.sql"), 22 }, 23 Migration { 24 version: 5, 25 sql: include_str!("../migrations/0005_products_workflow.sql"), 26 }, 27 Migration { 28 version: 6, 29 sql: include_str!("../migrations/0006_farm_rules_workspace.sql"), 30 }, 31 Migration { 32 version: 7, 33 sql: include_str!("../migrations/0007_activity_farm_settings_section.sql"), 34 }, 35 Migration { 36 version: 8, 37 sql: include_str!("../migrations/0008_orders_and_pack_day.sql"), 38 }, 39 Migration { 40 version: 9, 41 sql: include_str!("../migrations/0009_buyer_marketplace.sql"), 42 }, 43 Migration { 44 version: 10, 45 sql: include_str!("../migrations/0010_sync_contract_alignment.sql"), 46 }, 47 Migration { 48 version: 11, 49 sql: include_str!("../migrations/0011_reminders.sql"), 50 }, 51 Migration { 52 version: 12, 53 sql: include_str!("../migrations/0012_local_interop_imports.sql"), 54 }, 55 Migration { 56 version: 13, 57 sql: include_str!("../migrations/0013_local_interop_projection_cursor.sql"), 58 }, 59 Migration { 60 version: 14, 61 sql: include_str!("../migrations/0014_buyer_order_coordination.sql"), 62 }, 63 Migration { 64 version: 15, 65 sql: include_str!("../migrations/0015_buyer_order_listing_identity.sql"), 66 }, 67 Migration { 68 version: 16, 69 sql: include_str!("../migrations/0016_deterministic_outbox.sql"), 70 }, 71 Migration { 72 version: 17, 73 sql: include_str!("../migrations/0017_product_category.sql"), 74 }, 75 Migration { 76 version: 18, 77 sql: include_str!("../migrations/0018_listing_relay_provenance.sql"), 78 }, 79 Migration { 80 version: 19, 81 sql: include_str!("../migrations/0019_relay_ingest_freshness.sql"), 82 }, 83 Migration { 84 version: 20, 85 sql: include_str!("../migrations/0020_declined_order_status.sql"), 86 }, 87 Migration { 88 version: 21, 89 sql: include_str!("../migrations/0021_local_interop_signed_event_evidence.sql"), 90 }, 91 Migration { 92 version: 22, 93 sql: include_str!("../migrations/0022_order_workflow_revision.sql"), 94 }, 95 Migration { 96 version: 23, 97 sql: include_str!("../migrations/0023_order_workflow_display_projection.sql"), 98 }, 99 Migration { 100 version: 24, 101 sql: include_str!("../migrations/0024_order_workflow_agreement_states.sql"), 102 }, 103 Migration { 104 version: 25, 105 sql: include_str!("../migrations/0025_order_workflow_agreement_projection.sql"), 106 }, 107 Migration { 108 version: 26, 109 sql: include_str!("../migrations/0026_order_validation_receipt_projection.sql"), 110 }, 111 Migration { 112 version: 27, 113 sql: include_str!( 114 "../migrations/0027_local_interop_validation_receipt_projection_kind.sql" 115 ), 116 }, 117 Migration { 118 version: 28, 119 sql: include_str!("../migrations/0028_sdk_migration_receipts.sql"), 120 }, 121 ]; 122 123 pub fn latest_schema_version() -> u32 { 124 MIGRATIONS.last().map_or(0, |migration| migration.version) 125 } 126 127 pub fn pending_migrations(current_version: u32) -> impl Iterator<Item = (u32, &'static str)> { 128 MIGRATIONS 129 .iter() 130 .filter(move |migration| migration.version > current_version) 131 .map(|migration| (migration.version, migration.sql)) 132 }