package services import ( "git.mchus.pro/mchus/priceforge/internal/models" "gorm.io/gorm" ) // purgeSeenLotNames removes polluted seen-registry rows where another system wrote a LOT name // into qt_vendor_partnumber_seen.partnumber. Keep rows that already have an explicit PN mapping. func purgeSeenLotNames(db *gorm.DB) error { if db == nil { return nil } return db. Where("EXISTS (SELECT 1 FROM lot l WHERE LOWER(TRIM(l.lot_name)) = LOWER(TRIM(qt_vendor_partnumber_seen.partnumber)))"). Where("NOT EXISTS (SELECT 1 FROM qt_partnumber_book_items pb WHERE LOWER(TRIM(pb.partnumber)) = LOWER(TRIM(qt_vendor_partnumber_seen.partnumber)))"). Delete(&models.VendorPartnumberSeen{}). Error }