feat(inventory): Qwen vehicle compatibility — store AI unmatched vehicles as text, Celery background sync, fix brand filter fallback, increase vehicle limits
This commit is contained in:
53
pos/migrations/v3.2_qwen_vehicle_compat.sql
Normal file
53
pos/migrations/v3.2_qwen_vehicle_compat.sql
Normal file
@@ -0,0 +1,53 @@
|
||||
-- v3.2 QWEN Vehicle Compatibility — store unmatched AI vehicles as text
|
||||
-- Allows saving QWEN fitment results even when the vehicle is not in TecDoc.
|
||||
|
||||
-- 1. Allow NULL model_year_engine_id for QWEN vehicles not in master DB
|
||||
ALTER TABLE inventory_vehicle_compat
|
||||
ALTER COLUMN model_year_engine_id DROP NOT NULL;
|
||||
|
||||
-- 2. Add text columns for QWEN vehicle details
|
||||
ALTER TABLE inventory_vehicle_compat
|
||||
ADD COLUMN IF NOT EXISTS make VARCHAR(100),
|
||||
ADD COLUMN IF NOT EXISTS model VARCHAR(100),
|
||||
ADD COLUMN IF NOT EXISTS year INTEGER,
|
||||
ADD COLUMN IF NOT EXISTS engine VARCHAR(100),
|
||||
ADD COLUMN IF NOT EXISTS engine_code VARCHAR(50);
|
||||
|
||||
-- 3. Drop old unique constraint and recreate to handle NULL mye_id
|
||||
-- (PostgreSQL allows multiple NULLs in a UNIQUE constraint)
|
||||
ALTER TABLE inventory_vehicle_compat
|
||||
DROP CONSTRAINT IF EXISTS inventory_vehicle_compat_inventory_id_model_year_engine_id_key;
|
||||
|
||||
ALTER TABLE inventory_vehicle_compat
|
||||
ADD CONSTRAINT inventory_vehicle_compat_unique_match
|
||||
UNIQUE (inventory_id, model_year_engine_id, make, model, year);
|
||||
|
||||
-- 4. Index for fast filtering by inventory + text vehicles
|
||||
CREATE INDEX IF NOT EXISTS idx_ivc_text_vehicle
|
||||
ON inventory_vehicle_compat(inventory_id, make, model, year)
|
||||
WHERE model_year_engine_id IS NULL;
|
||||
|
||||
-- 5. Update view to include new columns
|
||||
DROP VIEW IF EXISTS v_inventory_vehicle_compat;
|
||||
CREATE VIEW v_inventory_vehicle_compat AS
|
||||
SELECT
|
||||
ivc.id,
|
||||
ivc.inventory_id,
|
||||
ivc.model_year_engine_id,
|
||||
ivc.make,
|
||||
ivc.model,
|
||||
ivc.year,
|
||||
ivc.engine,
|
||||
ivc.engine_code,
|
||||
ivc.source,
|
||||
ivc.confidence,
|
||||
ivc.created_at,
|
||||
i.part_number,
|
||||
i.name as item_name,
|
||||
i.brand as item_brand,
|
||||
i.price_1,
|
||||
i.price_2,
|
||||
i.price_3,
|
||||
i.image_url
|
||||
FROM inventory_vehicle_compat ivc
|
||||
JOIN inventory i ON i.id = ivc.inventory_id;
|
||||
Reference in New Issue
Block a user