Renamed module path git.mchus.pro/mchus/quoteforge → git.mchus.pro/mchus/priceforge, renamed package quoteforge → priceforge, moved binary from cmd/qfs to cmd/pfs.
38 lines
1.1 KiB
SQL
38 lines
1.1 KiB
SQL
-- Add pricelist binding to configurations
|
|
ALTER TABLE qt_configurations
|
|
ADD COLUMN pricelist_id BIGINT UNSIGNED NULL AFTER server_count;
|
|
|
|
ALTER TABLE qt_configurations
|
|
ADD INDEX idx_qt_configurations_pricelist_id (pricelist_id),
|
|
ADD CONSTRAINT fk_qt_configurations_pricelist_id
|
|
FOREIGN KEY (pricelist_id)
|
|
REFERENCES qt_pricelists(id)
|
|
ON DELETE RESTRICT
|
|
ON UPDATE CASCADE;
|
|
|
|
-- Backfill existing configurations to latest active pricelist
|
|
SET @latest_active_pricelist_id := (
|
|
SELECT id
|
|
FROM qt_pricelists
|
|
WHERE is_active = 1
|
|
ORDER BY created_at DESC
|
|
LIMIT 1
|
|
);
|
|
|
|
UPDATE qt_configurations
|
|
SET pricelist_id = @latest_active_pricelist_id
|
|
WHERE pricelist_id IS NULL
|
|
AND @latest_active_pricelist_id IS NOT NULL;
|
|
|
|
-- Recalculate usage_count from configuration bindings
|
|
UPDATE qt_pricelists SET usage_count = 0;
|
|
|
|
UPDATE qt_pricelists pl
|
|
JOIN (
|
|
SELECT pricelist_id, COUNT(*) AS cnt
|
|
FROM qt_configurations
|
|
WHERE pricelist_id IS NOT NULL
|
|
GROUP BY pricelist_id
|
|
) cfg ON cfg.pricelist_id = pl.id
|
|
SET pl.usage_count = cfg.cnt;
|