backbone_inventory/seeders/
mod.rs1use anyhow::Result;
9use async_trait::async_trait;
10use sqlx::PgPool;
11
12mod picking_batch_seeder;
13mod delivery_note_seeder;
14mod delivery_note_item_seeder;
15mod inventory_company_setting_seeder;
16mod landed_cost_seeder;
17mod landed_cost_line_seeder;
18mod landed_cost_adjustment_line_seeder;
19mod location_seeder;
20mod stock_move_seeder;
21mod stock_move_line_seeder;
22mod operation_type_seeder;
23mod transfer_seeder;
24mod route_seeder;
25mod route_rule_seeder;
26mod reordering_rule_seeder;
27mod purchase_receipt_seeder;
28mod purchase_receipt_item_seeder;
29mod quant_seeder;
30mod scrap_seeder;
31mod scrap_reason_tag_seeder;
32mod stock_entry_seeder;
33mod stock_entry_item_seeder;
34mod stock_ledger_entry_seeder;
35mod bin_seeder;
36mod stock_reconciliation_seeder;
37mod stock_reconciliation_item_seeder;
38mod package_type_seeder;
39mod storage_category_seeder;
40mod storage_category_capacity_seeder;
41mod putaway_rule_seeder;
42mod lot_seeder;
43mod package_seeder;
44mod warehouse_seeder;
45mod stock_item_seeder;
46
47pub use picking_batch_seeder::SeedPickingBatchSeeder;
48pub use delivery_note_seeder::SeedDeliveryNoteSeeder;
49pub use delivery_note_item_seeder::SeedDeliveryNoteItemSeeder;
50pub use inventory_company_setting_seeder::SeedInventoryCompanySettingSeeder;
51pub use landed_cost_seeder::SeedLandedCostSeeder;
52pub use landed_cost_line_seeder::SeedLandedCostLineSeeder;
53pub use landed_cost_adjustment_line_seeder::SeedLandedCostAdjustmentLineSeeder;
54pub use location_seeder::SeedLocationSeeder;
55pub use stock_move_seeder::SeedStockMoveSeeder;
56pub use stock_move_line_seeder::SeedStockMoveLineSeeder;
57pub use operation_type_seeder::SeedOperationTypeSeeder;
58pub use transfer_seeder::SeedTransferSeeder;
59pub use route_seeder::SeedRouteSeeder;
60pub use route_rule_seeder::SeedRouteRuleSeeder;
61pub use reordering_rule_seeder::SeedReorderingRuleSeeder;
62pub use purchase_receipt_seeder::SeedPurchaseReceiptSeeder;
63pub use purchase_receipt_item_seeder::SeedPurchaseReceiptItemSeeder;
64pub use quant_seeder::SeedQuantSeeder;
65pub use scrap_seeder::SeedScrapSeeder;
66pub use scrap_reason_tag_seeder::SeedScrapReasonTagSeeder;
67pub use stock_entry_seeder::SeedStockEntrySeeder;
68pub use stock_entry_item_seeder::SeedStockEntryItemSeeder;
69pub use stock_ledger_entry_seeder::SeedStockLedgerEntrySeeder;
70pub use bin_seeder::SeedBinSeeder;
71pub use stock_reconciliation_seeder::SeedStockReconciliationSeeder;
72pub use stock_reconciliation_item_seeder::SeedStockReconciliationItemSeeder;
73pub use package_type_seeder::SeedPackageTypeSeeder;
74pub use storage_category_seeder::SeedStorageCategorySeeder;
75pub use storage_category_capacity_seeder::SeedStorageCategoryCapacitySeeder;
76pub use putaway_rule_seeder::SeedPutawayRuleSeeder;
77pub use lot_seeder::SeedLotSeeder;
78pub use package_seeder::SeedPackageSeeder;
79pub use warehouse_seeder::SeedWarehouseSeeder;
80pub use stock_item_seeder::SeedStockItemSeeder;
81
82#[async_trait]
88pub trait Seeder {
89 fn name(&self) -> &'static str;
91
92 fn order(&self) -> i32;
94
95 async fn should_run(&self, pool: &PgPool) -> Result<bool>;
97
98 async fn run(&self, pool: &PgPool) -> Result<()>;
100
101 async fn rollback(&self, _pool: &PgPool) -> Result<()> {
103 Ok(())
104 }
105}
106
107#[derive(Debug, Clone, Copy, PartialEq, Eq)]
113pub enum SeederType {
114 Reference,
116 Production,
118 Development,
120 Test,
122}
123
124