Overview
Side-by-Side Summary
Key metrics from both systems, computed from the latest schema analysis.
| Metric | PostgreSQL | Airtable |
|---|---|---|
| Tables | 88 | 58 |
| Columns / Fields | 822 | 3561 |
| Foreign Keys | 0 | 412 linked |
| Computed Fields | 0 (in code) | 2455 (69%) |
| Indexes | 434 | n/a |
| Check Constraints | 0 | n/a |
| Enums | 0 | n/a |
PostgreSQL
88 tables, 822 columns, 434 indexes. 0 foreign keys defined.
Structural Summary
Foreign Keys
0
143 _id columns, 143 implicit
Check Constraints
0
Data validation rules at the schema level
Enums
0
Type-safe value constraints for status fields
Soft Delete
75 of 88 tables (85%)
Meta Columns
74 tables with full meta (84%)
Relationships
143 _id columns, 0 with FK, 143 implicit
Tables by Column Count
| Table | Columns | Indexes | Soft Delete | Full Meta |
|---|---|---|---|---|
| supplier_purchase_orders | 37 | 26 | Yes | Yes |
| supplier_purchase_contracts | 22 | 8 | Yes | Yes |
| inventory_loadout_bols | 18 | 6 | Yes | Yes |
| competitors | 17 | 5 | Yes | Yes |
| inventory_dock_receipt_containers | 16 | 5 | Yes | Yes |
| suppliers | 16 | 10 | Yes | Yes |
| inventory_loadout_bol_line_items | 15 | 0 | Yes | Yes |
| inventory_shipments_by_port | 15 | 8 | Yes | Yes |
| pricing_updates | 15 | 2 | Yes | Yes |
| sourcing_plan_segments | 15 | 5 | Yes | Yes |
Show all 88 tables (78 more)
| products | 14 | 9 | Yes | Yes |
| ref_landed_cost_estimates | 14 | 7 | Yes | Yes |
| supplier_comp_channels | 14 | 9 | Yes | Yes |
| supplier_mfg_plants | 14 | 8 | Yes | Yes |
| sourcing_pa_loss_reports | 13 | 6 | Yes | Yes |
| customer_contacts | 12 | 5 | Yes | Yes |
| customer_shipping_profiles | 12 | 5 | Yes | Yes |
| inventory_dock_receipts | 12 | 5 | Yes | Yes |
| po_term_sheets | 12 | 7 | Yes | Yes |
| supplier_distributor_financials | 12 | 3 | Yes | Yes |
| supplier_products | 12 | 7 | Yes | Yes |
| customers | 11 | 7 | Yes | Yes |
| inventory_lot_holds | 11 | 6 | Yes | Yes |
| ref_shipment_windows | 11 | 10 | No | No |
| sourcing_pa_updates | 11 | 6 | Yes | Yes |
| supplier_contacts | 11 | 8 | Yes | Yes |
| competitive_products | 10 | 8 | Yes | Yes |
| product_core_brands | 10 | 6 | Yes | Yes |
| ref_efi_distro_centers | 10 | 3 | Yes | Yes |
| sales_reps | 10 | 6 | Yes | Yes |
| sourcing_demand_plan_segments | 10 | 8 | Yes | Yes |
| supplier_capacities | 10 | 7 | Yes | Yes |
| supplier_distributor_mfg_contacts | 10 | 6 | Yes | Yes |
| supplier_distributor_profiles | 10 | 4 | Yes | Yes |
| supplier_fsvp_checklists | 10 | 4 | Yes | Yes |
| inventory_packing_list_containers | 9 | 4 | Yes | Yes |
| sourcing_demand_plans | 9 | 6 | Yes | Yes |
| supplier_po_statuses | 9 | 6 | Yes | Yes |
| users | 9 | 2 | Yes | No |
| competitor_customer_sourcing_rels | 8 | 6 | Yes | Yes |
| logistics_supplier | 8 | 5 | Yes | Yes |
| product_categories | 8 | 5 | Yes | Yes |
| ref_ports_of_lading | 8 | 5 | Yes | Yes |
| ref_tariffs | 8 | 2 | Yes | Yes |
| shipping_contract_rates | 8 | 6 | Yes | Yes |
| sourcing_plans | 8 | 6 | Yes | Yes |
| supplier_fsvp_documents | 8 | 4 | Yes | Yes |
| supplier_manufacturer_certs | 8 | 5 | Yes | Yes |
| supplier_payment_terms | 8 | 5 | Yes | Yes |
| supplier_po_terms | 8 | 4 | Yes | Yes |
| supplier_to_payment_term | 8 | 6 | Yes | Yes |
| competitive_product_data_sheets | 7 | 4 | Yes | Yes |
| inventory_packing_list_lots | 7 | 5 | Yes | Yes |
| inventory_packing_lists | 7 | 4 | Yes | Yes |
| inventory_shipment_months | 7 | 5 | Yes | Yes |
| log_users | 7 | 4 | No | No |
| logistics_ocean | 7 | 4 | Yes | Yes |
| product_broad_categories | 7 | 2 | Yes | Yes |
| product_data_sheets | 7 | 4 | Yes | Yes |
| ref_otw_transit_times | 7 | 5 | Yes | Yes |
| supplier_distributor_distro_channels | 7 | 5 | Yes | Yes |
| supplier_manufacturer_distro_channels | 7 | 6 | Yes | Yes |
| supplier_manufacturer_raw_material_sources | 7 | 6 | Yes | Yes |
| supplier_mfg_plant_products | 7 | 6 | Yes | Yes |
| supplier_moqs | 7 | 5 | Yes | Yes |
| supplier_po_docs | 7 | 5 | Yes | Yes |
| supplier_po_inventory_docs | 7 | 5 | Yes | Yes |
| supplier_to_mfg_plant | 7 | 2 | Yes | Yes |
| users_meta | 7 | 5 | Yes | Yes |
| util_qbo_tokens | 7 | 1 | No | No |
| ref_efi_port_to_dc | 6 | 4 | Yes | Yes |
| ref_efi_ports | 6 | 3 | Yes | Yes |
| ref_po_terms | 6 | 0 | Yes | Yes |
| ref_terminals | 6 | 4 | Yes | Yes |
| supplier_notes | 6 | 1 | Yes | Yes |
| supplier_ports_of_lading | 6 | 4 | Yes | Yes |
| log_values | 5 | 3 | No | No |
| ref_media_applications | 5 | 3 | Yes | Yes |
| ref_sales_months | 5 | 4 | No | No |
| ref_states | 5 | 4 | No | No |
| ref_supply_statuses | 5 | 3 | Yes | Yes |
| spatial_ref_sys | 5 | 0 | No | No |
| user_password_resets | 5 | 0 | No | No |
| ref_capacity_windows | 3 | 2 | No | No |
| ref_countries | 3 | 0 | No | No |
| util_postal_codes | 3 | 3 | No | No |
| util_var_dump | 3 | 0 | No | No |
| ref_mondays | 2 | 1 | No | No |
Airtable
58 tables, 3561 fields. 2455 computed (69%), 1106 manual.
Computed Field Breakdown by Type
Formulas
IF(), arithmetic, string operations. Contains the real business logic. In a read-first database, most become generated columns or view expressions.
Rollups
Aggregation across linked records — SUM(), COUNT(), AVG(). In Airtable these must be stored fields. In PostgreSQL they're just GROUP BY in a query or view.
Lookups
Values pulled from linked records. Exist only because Airtable is write-first — every displayed value needs a field. In PostgreSQL, these are JOINs. They disappear entirely.
Presentation Layer Density
Each bar shows the ratio of computed fields to total fields per table. A high ratio means most of the table exists to power the CRM interface — only a small fraction is stored data.
Formula Complexity
Complexity Tiers
Complex Formulas by Table
Complexity Tiers — Detail
| Tier | Count | % | What It Is | SQL Equivalent |
|---|---|---|---|---|
| Trivial | 734 | 30% | Lookups, field references, RECORD_ID(), timestamps, counts | JOINs — handled automatically by any API layer or SQL views |
| Simple | 1298 | 53% | A+B, A*B, A/B, rollups (SUM), string concatenation | col_a + col_b, SUM(), CONCAT() |
| Moderate | 321 | 13% | Single IF(), ROUND(), basic conditionals | CASE WHEN, COALESCE, ROUND |
| Complex | 102 | 4% | Nested IF, AND/OR, multi-step conditionals | Nested CASE, window functions, custom PG functions |
Pattern Reuse
The 953 actual formulas collapse to just 336 unique patterns — a 65% reduction. 54 patterns span multiple tables (596 fields).
| Pattern | Occurrences | Tables | Example Field |
|---|---|---|---|
| {FIELD}-{FIELD} | 97 | 14 | Supplier Purchase Orders.Qty Sellable (QT) |
| IF({FIELD},{FIELD},{FIELD}) | 59 | 13 | Supplier Purchase Orders.Act./Est. Ship Date |
| {FIELD}*{FIELD} | 57 | 13 | Supplier Purchase Orders.MT to ST (Conversion) |
| {FIELD}+{FIELD}+{FIELD} | 48 | 7 | Supplier Purchase Orders.Est. Customs/Broker/Handling/Customs Tariff |
| {FIELD}+{FIELD} | 47 | 11 | Supplier Purchase Orders.FOB + Tariff |
| {FIELD} | 25 | 11 | Supplier Purchase Orders.Name |
| IF({FIELD},{FIELD},{FIELD}+{FIELD}) | 23 | 4 | Sales Rep Forecasts.Revenue (Sold + Remaining) (Forward) |
| {FIELD}/{FIELD} | 22 | 7 | Supplier Purchase Orders.FOB/STon |
| {FIELD}&" - "&{FIELD} | 22 | 16 | Contract Line Items.Location by Month (Calculated) |
| {FIELD}/NUM | 19 | 4 | Supplier Purchase Orders.Container Calculation |
Show all 20 patterns (10 more)
| IF(OR({FIELD}=BLANK(),{FIELD}=NUM),NUM,{FIELD}*({FIELD}/{FIE... | 15 | 1 | Sales Rep Forecasts.Product Cost (Remaining Minus Slippage) (Forward) |
| {FIELD}&" ("&{FIELD}&")" | 14 | 11 | Supplier Purchase Orders.Inventory + Month |
| ROUND({FIELD}-{FIELD},NUM) | 13 | 6 | Supplier Purchase Orders.Qty Remaining (Contract Line Items) |
| IF(AND({FIELD},{FIELD}),({FIELD}-{FIELD})/{FIELD}) | 13 | 4 | Inventory Availability.Margin (Unallocated) |
| RECORD_ID() | 10 | 10 | Supplier Purchase Orders.Record ID |
| {FIELD}+{FIELD}+{FIELD}+{FIELD}+{FIELD} | 10 | 5 | Supplier Purchase Orders.Total Cost (10% Tariff) |
| ({FIELD}-{FIELD})/{FIELD} | 8 | 4 | Sales Orders.EFI Freight Profit (%) |
| IF({FIELD}=NUM,NUM,DATETIME_FORMAT({FIELD}, 'STR')) | 7 | 1 | Supplier Purchase Orders.Month of Order Date |
| IF({FIELD}=BLANK(),NUM,MAX(NUM, (({FIELD}-{FIELD})/{FIELD})*... | 7 | 1 | Sales Rep Forecasts.Revenue Remaining Minus Slippage (Forward Contracts) |
| IF( {FIELD} = 'STR', {FIELD}, IF( {FIELD} = 'STR',... | 6 | 1 | Supplier Purchase Orders.Packaging Weight (LBS) |
Top Functions Used
IF598AND91BLANK89DATEADD81DATETIME_FORMAT66OR53TODAY40DATETIME_PARSE34ROUND32YEAR31DATETIME_DIFF29MAX29FIND25MONTH23DAY18Formula Patterns
336 unique patterns from 953 formulas (65% dedup reduction). 54 cross-table patterns spanning 596 fields.
Top Cross-Table Patterns
{FIELD}-{FIELD}
97 uses across 14 tables
IF({FIELD},{FIELD},{FIELD})
59 uses across 13 tables
{FIELD}*{FIELD}
57 uses across 13 tables
{FIELD}+{FIELD}+{FIELD}
48 uses across 7 tables
{FIELD}+{FIELD}
47 uses across 11 tables
{FIELD}
25 uses across 11 tables
IF({FIELD},{FIELD},{FIELD}+{FIELD})
23 uses across 4 tables
{FIELD}/{FIELD}
22 uses across 7 tables
{FIELD}&" - "&{FIELD}
22 uses across 16 tables
{FIELD}/NUM
19 uses across 4 tables
Airtable Tables by Complexity
| Table | Fields | Computed | Computed % | Complex |
|---|---|---|---|---|
| Supplier Purchase Orders | 356 | 243 | 68% | 37 |
| Contract Line Items | 183 | 134 | 73% | 9 |
| Availability/Pricing | 59 | 48 | 81% | 9 |
| Cash Flows | 81 | 56 | 69% | 7 |
| Inventory Availability | 428 | 366 | 86% | 6 |
| FIFO Cost Layers Table | 174 | 151 | 87% | 5 |
| Sales Orders | 171 | 106 | 62% | 5 |
| Sales Rep Forecasts | 308 | 242 | 79% | 4 |
| Monthly Summary | 172 | 124 | 72% | 3 |
| Inventory Allocations | 92 | 80 | 87% | 3 |
Show all 58 tables (48 more)
| Vessels | 31 | 17 | 55% | 3 |
| Customer Contracts | 92 | 48 | 52% | 2 |
| Spot Tonnage Optimization | 35 | 26 | 74% | 2 |
| Inventory | 97 | 60 | 62% | 1 |
| Reallocations | 84 | 24 | 29% | 1 |
| Unallocated | 71 | 62 | 87% | 1 |
| Warehouses | 32 | 3 | 9% | 1 |
| Competitor Pricing | 27 | 14 | 52% | 1 |
| Farms | 10 | 3 | 30% | 1 |
| Pricing By Rep | 7 | 4 | 57% | 1 |
| Availability By Rep | 182 | 173 | 95% | 0 |
| Location by Month | 162 | 153 | 94% | 0 |
| Availability By Site | 101 | 91 | 90% | 0 |
| Sales Order Fulfillment | 65 | 61 | 94% | 0 |
| Containers | 60 | 30 | 50% | 0 |
| Customers | 53 | 22 | 42% | 0 |
| Products | 35 | 15 | 43% | 0 |
| Special Bid Requests | 35 | 6 | 17% | 0 |
| Pricing | 33 | 16 | 48% | 0 |
| Weeks | 32 | 6 | 19% | 0 |
| Site/Product | 29 | 9 | 31% | 0 |
| Suppliers | 25 | 7 | 28% | 0 |
| Sales Representatives | 22 | 3 | 14% | 0 |
| Dates | 20 | 11 | 55% | 0 |
| Customer Contacts | 17 | 5 | 29% | 0 |
| Dock Receipts | 17 | 8 | 47% | 0 |
| Packaging | 15 | 4 | 27% | 0 |
| Lots | 13 | 10 | 77% | 0 |
| Sites | 13 | 0 | 0% | 0 |
| Vendors | 12 | 2 | 17% | 0 |
| Adjustments to Supplier Purchase Orders | 11 | 3 | 27% | 0 |
| Ports of Lading | 10 | 2 | 20% | 0 |
| Ports of Discharge | 10 | 0 | 0% | 0 |
| Supplier Availability | 9 | 1 | 11% | 0 |
| Week (Finance) | 9 | 3 | 33% | 0 |
| Shipping Windows | 7 | 0 | 0% | 0 |
| Countries | 6 | 2 | 33% | 0 |
| Freight Forwarders/Contracted Carriers | 6 | 0 | 0% | 0 |
| Sales Reps/Inventory Availability | 6 | 0 | 0% | 0 |
| Table 55 | 6 | 0 | 0% | 0 |
| Carriers | 5 | 0 | 0% | 0 |
| Competitors | 4 | 0 | 0% | 0 |
| Broker | 4 | 0 | 0% | 0 |
| Pro Forma Reports | 4 | 1 | 25% | 0 |
| Competitor Products | 4 | 0 | 0% | 0 |
| Transshipment Port | 3 | 0 | 0% | 0 |
| Substitute Ingredients | 3 | 0 | 0% | 0 |
| Snapshots | 3 | 0 | 0% | 0 |
Cross-System Overlap
15 entities exist in both systems. 73 PostgreSQL-only, 43 Airtable-only.
Matched Entities
| PostgreSQL | Airtable | Match Type | Confidence |
|---|---|---|---|
| competitors | Competitors | alias | high |
| customer_contacts | Customer Contacts | alias | high |
| customers | Customers | alias | high |
| inventory_dock_receipt_containers | Containers | substring | medium |
| inventory_dock_receipts | Dock Receipts | alias | high |
| inventory_loadout_bols | Inventory | substring | medium |
| pricing_updates | Pricing | substring | medium |
| products | Products | alias | high |
| ref_countries | Countries | alias | high |
| ref_efi_ports | Ports of Discharge | alias | high |
| ref_ports_of_lading | Ports of Lading | alias | high |
| sales_reps | Sales Representatives | alias | high |
| sourcing_pa_updates | Dates | substring | medium |
| supplier_purchase_orders | Supplier Purchase Orders | alias | high |
| suppliers | Suppliers | alias | high |
PostgreSQL Only (73)
| Table |
|---|
| competitive_product_data_sheets |
| competitive_products |
| competitor_customer_sourcing_rels |
| customer_shipping_profiles |
| inventory_loadout_bol_line_items |
| inventory_lot_holds |
| inventory_packing_list_containers |
| inventory_packing_list_lots |
| inventory_packing_lists |
| inventory_shipment_months |
Show all 73 tables (63 more)
| inventory_shipments_by_port |
| log_users |
| log_values |
| logistics_ocean |
| logistics_supplier |
| po_term_sheets |
| product_broad_categories |
| product_categories |
| product_core_brands |
| product_data_sheets |
| ref_capacity_windows |
| ref_efi_distro_centers |
| ref_efi_port_to_dc |
| ref_landed_cost_estimates |
| ref_media_applications |
| ref_mondays |
| ref_otw_transit_times |
| ref_po_terms |
| ref_sales_months |
| ref_shipment_windows |
| ref_states |
| ref_supply_statuses |
| ref_tariffs |
| ref_terminals |
| shipping_contract_rates |
| sourcing_demand_plan_segments |
| sourcing_demand_plans |
| sourcing_pa_loss_reports |
| sourcing_plan_segments |
| sourcing_plans |
| spatial_ref_sys |
| supplier_capacities |
| supplier_comp_channels |
| supplier_contacts |
| supplier_distributor_distro_channels |
| supplier_distributor_financials |
| supplier_distributor_mfg_contacts |
| supplier_distributor_profiles |
| supplier_fsvp_checklists |
| supplier_fsvp_documents |
| supplier_manufacturer_certs |
| supplier_manufacturer_distro_channels |
| supplier_manufacturer_raw_material_sources |
| supplier_mfg_plant_products |
| supplier_mfg_plants |
| supplier_moqs |
| supplier_notes |
| supplier_payment_terms |
| supplier_po_docs |
| supplier_po_inventory_docs |
| supplier_po_statuses |
| supplier_po_terms |
| supplier_ports_of_lading |
| supplier_products |
| supplier_purchase_contracts |
| supplier_to_mfg_plant |
| supplier_to_payment_term |
| user_password_resets |
| users |
| users_meta |
| util_postal_codes |
| util_qbo_tokens |
| util_var_dump |
Airtable Only (43)
| Table |
|---|
| Adjustments to Supplier Purchase Orders |
| Availability By Rep |
| Availability By Site |
| Availability/Pricing |
| Broker |
| Carriers |
| Cash Flows |
| Competitor Pricing |
| Competitor Products |
| Contract Line Items |
Show all 43 tables (33 more)
| Customer Contracts |
| FIFO Cost Layers Table |
| Farms |
| Freight Forwarders/Contracted Carriers |
| Inventory Allocations |
| Inventory Availability |
| Location by Month |
| Lots |
| Monthly Summary |
| Packaging |
| Pricing By Rep |
| Pro Forma Reports |
| Reallocations |
| Sales Order Fulfillment |
| Sales Orders |
| Sales Rep Forecasts |
| Sales Reps/Inventory Availability |
| Shipping Windows |
| Site/Product |
| Sites |
| Snapshots |
| Special Bid Requests |
| Spot Tonnage Optimization |
| Substitute Ingredients |
| Supplier Availability |
| Table 55 |
| Transshipment Port |
| Unallocated |
| Vendors |
| Vessels |
| Warehouses |
| Week (Finance) |
| Weeks |
Orphan Audit
93 implicit relationships identified for integrity checking.
Orphan audit SQL generated but not yet run. The analysis produced SQL queries to check 93 relationships. Run the combined SQL against the database to populate results. See How to Analyze for instructions.
Relationships to Check (93)
| Source | Target |
|---|---|
| competitive_products.competitor_id | competitors.id |
| competitor_customer_sourcing_rels.competitor_id | competitors.id |
| competitor_customer_sourcing_rels.supplier_id | logistics_supplier.id |
| competitors.customer_id | customers.id |
| competitors.supplier_id | logistics_supplier.id |
| customer_contacts.customer_id | customers.id |
| customer_shipping_profiles.customer_id | customers.id |
| customer_shipping_profiles.distro_center_id | ref_efi_distro_centers.id |
| customer_shipping_profiles.state_id | ref_states.id |
| customers.rep_id | sales_reps.id |
Show all 93 relationships (83 more)
| inventory_dock_receipt_containers.dock_receipt_id | inventory_dock_receipts.id |
| inventory_dock_receipt_containers.lot_id | inventory_packing_list_lots.id |
| inventory_dock_receipts.distro_center_id | ref_efi_distro_centers.id |
| inventory_loadout_bol_line_items.loadout_bol_id | inventory_loadout_bols.id |
| inventory_loadout_bol_line_items.product_id | competitive_products.id |
| inventory_loadout_bol_line_items.lot_id | inventory_packing_list_lots.id |
| inventory_loadout_bols.distro_center_id | ref_efi_distro_centers.id |
| inventory_loadout_bols.customer_id | customers.id |
| inventory_lot_holds.lot_id | inventory_packing_list_lots.id |
| inventory_packing_list_containers.packing_list_id | inventory_packing_lists.id |
| inventory_packing_list_lots.packing_list_id | inventory_packing_lists.id |
| inventory_shipments_by_port.efi_port_id | ref_efi_ports.id |
| logistics_ocean.efi_port_id | ref_efi_ports.id |
| logistics_supplier.supplier_id | logistics_supplier.id |
| logistics_supplier.supplier_mfg_plant_id | supplier_mfg_plants.id |
| logistics_supplier.product_id | competitive_products.id |
| po_term_sheets.supplier_id | logistics_supplier.id |
| po_term_sheets.product_id | competitive_products.id |
| pricing_updates.product_id | competitive_products.id |
| product_data_sheets.product_id | competitive_products.id |
| product_data_sheets.media_application_id | ref_media_applications.id |
| products.product_core_brand_id | product_core_brands.id |
| ref_efi_port_to_dc.efi_port_id | ref_efi_ports.id |
| ref_efi_port_to_dc.distro_center_id | ref_efi_distro_centers.id |
| ref_landed_cost_estimates.efi_port_id | ref_efi_ports.id |
| ref_otw_transit_times.efi_port_id | ref_efi_ports.id |
| ref_shipment_windows.sales_month_id | ref_sales_months.id |
| ref_terminals.efi_port_id | ref_efi_ports.id |
| shipping_contract_rates.port_id | inventory_shipments_by_port.id |
| sourcing_demand_plan_segments.demand_plan_id | sourcing_demand_plans.id |
| sourcing_demand_plan_segments.product_id | competitive_products.id |
| sourcing_demand_plans.sales_month_id | ref_sales_months.id |
| sourcing_demand_plans.distro_center_id | ref_efi_distro_centers.id |
| sourcing_demand_plans.efi_port_id | ref_efi_ports.id |
| sourcing_pa_loss_reports.supplier_id | logistics_supplier.id |
| sourcing_pa_loss_reports.product_id | competitive_products.id |
| sourcing_pa_loss_reports.shipment_window_id | ref_shipment_windows.id |
| sourcing_pa_updates.supplier_id | logistics_supplier.id |
| sourcing_pa_updates.product_id | competitive_products.id |
| sourcing_pa_updates.shipment_window_id | ref_shipment_windows.id |
| sourcing_plan_segments.sourcing_plan_id | sourcing_plans.id |
| sourcing_plan_segments.supplier_id | logistics_supplier.id |
| sourcing_plan_segments.shipment_window_id | ref_shipment_windows.id |
| sourcing_plans.sales_month_id | ref_sales_months.id |
| sourcing_plans.product_id | competitive_products.id |
| supplier_capacities.supplier_id | logistics_supplier.id |
| supplier_comp_channels.supplier_id | logistics_supplier.id |
| supplier_comp_channels.competitor_id | competitors.id |
| supplier_comp_channels.customer_id | customers.id |
| supplier_contacts.supplier_id | logistics_supplier.id |
| supplier_distributor_distro_channels.supplier_id | logistics_supplier.id |
| supplier_distributor_financials.supplier_id | logistics_supplier.id |
| supplier_distributor_mfg_contacts.supplier_id | logistics_supplier.id |
| supplier_distributor_profiles.supplier_id | logistics_supplier.id |
| supplier_fsvp_checklists.supplier_id | logistics_supplier.id |
| supplier_fsvp_checklists.product_id | competitive_products.id |
| supplier_fsvp_checklists.mfg_plant_id | supplier_mfg_plants.id |
| supplier_fsvp_documents.checklist_id | supplier_fsvp_checklists.id |
| supplier_manufacturer_certs.supplier_id | logistics_supplier.id |
| supplier_manufacturer_distro_channels.supplier_id | logistics_supplier.id |
| supplier_manufacturer_raw_material_sources.supplier_id | logistics_supplier.id |
| supplier_mfg_plant_products.supplier_mfg_plant_id | supplier_mfg_plants.id |
| supplier_mfg_plant_products.product_id | competitive_products.id |
| supplier_moqs.supplier_id | logistics_supplier.id |
| supplier_moqs.product_id | competitive_products.id |
| supplier_notes.supplier_id | logistics_supplier.id |
| supplier_po_terms.supplier_id | logistics_supplier.id |
| supplier_ports_of_lading.supplier_id | logistics_supplier.id |
| supplier_products.supplier_id | logistics_supplier.id |
| supplier_products.product_id | competitive_products.id |
| supplier_purchase_contracts.supplier_id | logistics_supplier.id |
| supplier_purchase_contracts.product_id | competitive_products.id |
| supplier_purchase_contracts.sourcing_plan_segment_id | sourcing_plan_segments.id |
| supplier_purchase_orders.supplier_id | logistics_supplier.id |
| supplier_purchase_orders.product_id | competitive_products.id |
| supplier_purchase_orders.distro_center_id | ref_efi_distro_centers.id |
| supplier_purchase_orders.contract_id | supplier_purchase_contracts.id |
| supplier_to_mfg_plant.supplier_id | logistics_supplier.id |
| supplier_to_mfg_plant.mfg_plant_id | supplier_mfg_plants.id |
| supplier_to_payment_term.supplier_id | logistics_supplier.id |
| supplier_to_payment_term.payment_term_id | supplier_payment_terms.id |
| user_password_resets.user_id | log_users.id |
| users_meta.user_id | log_users.id |
Implicit Relationships
143 columns ending in _id — none backed by foreign key constraints.
| Table | Column | Type | Nullable | Guessed Target |
|---|---|---|---|---|
| competitive_product_data_sheets | comp_product_id | integer | No | unknown |
| competitive_products | competitor_id | integer | No | competitors |
| competitive_products | product_broad_cat_id | integer | No | unknown |
| competitive_products | product_cat_id | integer | No | unknown |
| competitor_customer_sourcing_rels | competitor_id | integer | No | competitors |
| competitor_customer_sourcing_rels | supplier_id | integer | No | logistics_supplier |
| competitor_customer_sourcing_rels | product_cat_id | integer | No | unknown |
| competitors | customer_id | integer | No | customers |
| competitors | supplier_id | integer | Yes | logistics_supplier |
| customer_contacts | customer_id | integer | No | customers |
Show all 143 relationships (133 more)
| customer_shipping_profiles | customer_id | integer | No | customers |
| customer_shipping_profiles | distro_center_id | integer | No | ref_efi_distro_centers |
| customer_shipping_profiles | state_id | integer | No | ref_states |
| customers | rep_id | integer | No | sales_reps |
| inventory_dock_receipt_containers | dock_receipt_id | bigint | No | inventory_dock_receipts |
| inventory_dock_receipt_containers | lot_id | integer | Yes | inventory_packing_list_lots |
| inventory_dock_receipts | efi_po_id | bigint | No | unknown |
| inventory_dock_receipts | distro_center_id | integer | No | ref_efi_distro_centers |
| inventory_loadout_bol_line_items | loadout_bol_id | bigint | No | inventory_loadout_bols |
| inventory_loadout_bol_line_items | product_id | integer | No | competitive_products |
| inventory_loadout_bol_line_items | lot_id | bigint | Yes | inventory_packing_list_lots |
| inventory_loadout_bols | distro_center_id | integer | No | ref_efi_distro_centers |
| inventory_loadout_bols | customer_id | integer | No | customers |
| inventory_lot_holds | lot_id | bigint | No | inventory_packing_list_lots |
| inventory_packing_list_containers | packing_list_id | bigint | No | inventory_packing_lists |
| inventory_packing_list_lots | packing_list_id | bigint | No | inventory_packing_lists |
| inventory_packing_list_lots | pl_container_id | bigint | No | unknown |
| inventory_packing_lists | supplier_po_id | bigint | No | unknown |
| inventory_shipments_by_port | efi_port_id | integer | No | ref_efi_ports |
| inventory_shipments_by_port | supplier_po_id | bigint | No | unknown |
| log_users | event_record_id | integer | No | unknown |
| log_users | event_user_id | integer | No | unknown |
| log_values | event_user_id | integer | No | unknown |
| logistics_ocean | port_of_lading_id | integer | No | unknown |
| logistics_ocean | efi_port_id | integer | No | ref_efi_ports |
| logistics_supplier | supplier_id | integer | No | logistics_supplier |
| logistics_supplier | supplier_mfg_plant_id | integer | Yes | supplier_mfg_plants |
| logistics_supplier | product_id | integer | No | competitive_products |
| po_term_sheets | supplier_id | integer | Yes | logistics_supplier |
| po_term_sheets | product_id | integer | Yes | competitive_products |
| pricing_updates | efi_sales_month_id | integer | No | unknown |
| pricing_updates | product_id | integer | No | competitive_products |
| product_categories | product_broad_cat_id | integer | No | unknown |
| product_core_brands | product_broad_cat_id | integer | Yes | unknown |
| product_core_brands | product_cat_id | integer | Yes | unknown |
| product_data_sheets | product_id | integer | No | competitive_products |
| product_data_sheets | media_application_id | integer | No | ref_media_applications |
| products | product_cat_id | integer | Yes | unknown |
| products | product_broad_cat_id | integer | Yes | unknown |
| products | product_core_brand_id | integer | Yes | product_core_brands |
| ref_efi_port_to_dc | efi_port_id | integer | No | ref_efi_ports |
| ref_efi_port_to_dc | distro_center_id | integer | No | ref_efi_distro_centers |
| ref_landed_cost_estimates | efi_port_id | integer | No | ref_efi_ports |
| ref_otw_transit_times | port_of_lading_id | integer | No | unknown |
| ref_otw_transit_times | efi_port_id | integer | No | ref_efi_ports |
| ref_ports_of_lading | country_id | integer | Yes | unknown |
| ref_shipment_windows | sales_month_id | integer | Yes | ref_sales_months |
| ref_tariffs | country_id | integer | No | unknown |
| ref_terminals | efi_port_id | integer | No | ref_efi_ports |
| shipping_contract_rates | inv_month_id | integer | No | unknown |
| shipping_contract_rates | port_id | integer | No | inventory_shipments_by_port |
| sourcing_demand_plan_segments | demand_plan_id | integer | No | sourcing_demand_plans |
| sourcing_demand_plan_segments | product_id | integer | No | competitive_products |
| sourcing_demand_plans | sales_month_id | integer | No | ref_sales_months |
| sourcing_demand_plans | distro_center_id | integer | Yes | ref_efi_distro_centers |
| sourcing_demand_plans | efi_port_id | integer | Yes | ref_efi_ports |
| sourcing_pa_loss_reports | supplier_id | integer | No | logistics_supplier |
| sourcing_pa_loss_reports | product_id | integer | No | competitive_products |
| sourcing_pa_loss_reports | shipment_window_id | integer | No | ref_shipment_windows |
| sourcing_pa_loss_reports | lost_competitor_id | integer | Yes | unknown |
| sourcing_pa_updates | supplier_id | integer | No | logistics_supplier |
| sourcing_pa_updates | product_id | integer | No | competitive_products |
| sourcing_pa_updates | shipment_window_id | integer | No | ref_shipment_windows |
| sourcing_plan_segments | sourcing_plan_id | bigint | No | sourcing_plans |
| sourcing_plan_segments | supplier_id | integer | No | logistics_supplier |
| sourcing_plan_segments | port_of_lading_id | integer | No | unknown |
| sourcing_plan_segments | dest_port_id | integer | No | unknown |
| sourcing_plan_segments | shipment_window_id | integer | Yes | ref_shipment_windows |
| sourcing_plans | sales_month_id | integer | No | ref_sales_months |
| sourcing_plans | product_id | integer | No | competitive_products |
| supplier_capacities | supplier_id | integer | No | logistics_supplier |
| supplier_capacities | prod_category_id | integer | Yes | unknown |
| supplier_comp_channels | supplier_id | integer | No | logistics_supplier |
| supplier_comp_channels | prod_category_id | integer | Yes | unknown |
| supplier_comp_channels | competitor_id | integer | No | competitors |
| supplier_comp_channels | customer_id | integer | No | customers |
| supplier_contacts | supplier_id | integer | No | logistics_supplier |
| supplier_distributor_distro_channels | supplier_id | integer | No | logistics_supplier |
| supplier_distributor_financials | supplier_id | integer | No | logistics_supplier |
| supplier_distributor_mfg_contacts | supplier_id | integer | No | logistics_supplier |
| supplier_distributor_profiles | supplier_id | integer | No | logistics_supplier |
| supplier_fsvp_checklists | supplier_id | integer | No | logistics_supplier |
| supplier_fsvp_checklists | product_id | integer | No | competitive_products |
| supplier_fsvp_checklists | mfg_plant_id | integer | No | supplier_mfg_plants |
| supplier_fsvp_checklists | completed_by_id | integer | Yes | unknown |
| supplier_fsvp_documents | checklist_id | integer | No | supplier_fsvp_checklists |
| supplier_fsvp_documents | checklist_item_id | integer | No | unknown |
| supplier_manufacturer_certs | supplier_id | integer | No | logistics_supplier |
| supplier_manufacturer_distro_channels | supplier_id | integer | No | logistics_supplier |
| supplier_manufacturer_raw_material_sources | supplier_id | integer | No | logistics_supplier |
| supplier_mfg_plant_products | supplier_mfg_plant_id | integer | No | supplier_mfg_plants |
| supplier_mfg_plant_products | product_id | integer | No | competitive_products |
| supplier_mfg_plants | country_id | integer | Yes | unknown |
| supplier_moqs | supplier_id | integer | No | logistics_supplier |
| supplier_moqs | product_id | integer | No | competitive_products |
| supplier_notes | supplier_id | integer | No | logistics_supplier |
| supplier_po_docs | supplier_po_id | bigint | No | unknown |
| supplier_po_inventory_docs | supplier_po_id | bigint | No | unknown |
| supplier_po_statuses | supplier_po_id | bigint | No | unknown |
| supplier_po_statuses | status_id | integer | No | unknown |
| supplier_po_terms | supplier_id | integer | No | logistics_supplier |
| supplier_po_terms | product_category_id | integer | No | unknown |
| supplier_ports_of_lading | supplier_id | integer | No | logistics_supplier |
| supplier_ports_of_lading | port_of_lading_id | integer | No | unknown |
| supplier_products | supplier_id | integer | No | logistics_supplier |
| supplier_products | product_id | integer | No | competitive_products |
| supplier_products | product_category_id | integer | No | unknown |
| supplier_purchase_contracts | supplier_id | integer | No | logistics_supplier |
| supplier_purchase_contracts | product_id | integer | No | competitive_products |
| supplier_purchase_contracts | port_of_lading_id | integer | Yes | unknown |
| supplier_purchase_contracts | shipping_window_1h_id | integer | Yes | unknown |
| supplier_purchase_contracts | shipping_window_2h_id | integer | Yes | unknown |
| supplier_purchase_contracts | sourcing_plan_segment_id | integer | Yes | sourcing_plan_segments |
| supplier_purchase_contracts | efi_sales_month_id | integer | Yes | unknown |
| supplier_purchase_orders | supplier_id | integer | No | logistics_supplier |
| supplier_purchase_orders | product_id | integer | No | competitive_products |
| supplier_purchase_orders | port_of_lading_id | integer | No | unknown |
| supplier_purchase_orders | dest_port_id | integer | No | unknown |
| supplier_purchase_orders | product_category_id | integer | Yes | unknown |
| supplier_purchase_orders | shipping_window_id | integer | Yes | unknown |
| supplier_purchase_orders | payment_po_term_id | integer | Yes | unknown |
| supplier_purchase_orders | specific_po_term_id | integer | Yes | unknown |
| supplier_purchase_orders | general_po_term_id | integer | Yes | unknown |
| supplier_purchase_orders | efi_sales_month_id | integer | Yes | unknown |
| supplier_purchase_orders | distro_center_id | integer | Yes | ref_efi_distro_centers |
| supplier_purchase_orders | contract_id | integer | Yes | supplier_purchase_contracts |
| supplier_purchase_orders | unique_po_term_id | integer | Yes | unknown |
| supplier_to_mfg_plant | supplier_id | integer | No | logistics_supplier |
| supplier_to_mfg_plant | mfg_plant_id | integer | No | supplier_mfg_plants |
| supplier_to_payment_term | supplier_id | integer | No | logistics_supplier |
| supplier_to_payment_term | payment_term_id | integer | No | supplier_payment_terms |
| user_password_resets | user_id | integer | No | log_users |
| users_meta | user_id | bigint | No | log_users |