app

Local-first trade for farms and co-ops
git clone https://radroots.dev/git/app.git
Log | Files | Refs | README | LICENSE

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 }