refaktor címtár
This commit is contained in:
65
docs/sql/cleanup_ghost_columns_2026_07.sql
Normal file
65
docs/sql/cleanup_ghost_columns_2026_07.sql
Normal file
@@ -0,0 +1,65 @@
|
||||
-- =============================================================================
|
||||
-- P0 ARCHITECTURE CLEANUP: Ghost Column Removal Script
|
||||
-- Generated: 2026-07-01
|
||||
--
|
||||
-- ⚠️ WARNING: Run this script ONLY after verifying that ALL code references
|
||||
-- to these ghost columns have been removed from the codebase.
|
||||
--
|
||||
-- These columns were previously on fleet.organizations but have been
|
||||
-- replaced by the unified address system (system.addresses FK via
|
||||
-- address_id, billing_address_id, notification_address_id).
|
||||
--
|
||||
-- The Organization model now uses Python properties that delegate to
|
||||
-- the `address` relationship (Address → GeoPostalCode).
|
||||
--
|
||||
-- Audit reference: docs/p0_address_manager_usage_audit_2026-07-01.md
|
||||
-- =============================================================================
|
||||
|
||||
BEGIN;
|
||||
|
||||
-- ═════════════════════════════════════════════════════════════════════════════
|
||||
-- fleet.organizations — Primary Address Ghost Columns
|
||||
-- ═════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
ALTER TABLE fleet.organizations DROP COLUMN IF EXISTS address_city;
|
||||
ALTER TABLE fleet.organizations DROP COLUMN IF EXISTS address_zip;
|
||||
ALTER TABLE fleet.organizations DROP COLUMN IF EXISTS address_street_name;
|
||||
ALTER TABLE fleet.organizations DROP COLUMN IF EXISTS address_street_type;
|
||||
ALTER TABLE fleet.organizations DROP COLUMN IF EXISTS address_house_number;
|
||||
|
||||
-- ═════════════════════════════════════════════════════════════════════════════
|
||||
-- fleet.organizations — Billing Address Ghost Columns
|
||||
-- ═════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
ALTER TABLE fleet.organizations DROP COLUMN IF EXISTS billing_zip;
|
||||
ALTER TABLE fleet.organizations DROP COLUMN IF EXISTS billing_city;
|
||||
ALTER TABLE fleet.organizations DROP COLUMN IF EXISTS billing_street_name;
|
||||
ALTER TABLE fleet.organizations DROP COLUMN IF EXISTS billing_street_type;
|
||||
ALTER TABLE fleet.organizations DROP COLUMN IF EXISTS billing_house_number;
|
||||
|
||||
-- ═════════════════════════════════════════════════════════════════════════════
|
||||
-- fleet.organizations — Notification Address Ghost Columns
|
||||
-- ═════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
ALTER TABLE fleet.organizations DROP COLUMN IF EXISTS notification_zip;
|
||||
ALTER TABLE fleet.organizations DROP COLUMN IF EXISTS notification_city;
|
||||
ALTER TABLE fleet.organizations DROP COLUMN IF EXISTS notification_street_name;
|
||||
ALTER TABLE fleet.organizations DROP COLUMN IF EXISTS notification_street_type;
|
||||
ALTER TABLE fleet.organizations DROP COLUMN IF EXISTS notification_house_number;
|
||||
|
||||
-- ═════════════════════════════════════════════════════════════════════════════
|
||||
-- Verification Queries (run after migration to confirm cleanup)
|
||||
-- ═════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
-- Should return 0 rows (all ghost columns removed):
|
||||
-- SELECT column_name
|
||||
-- FROM information_schema.columns
|
||||
-- WHERE table_schema = 'fleet'
|
||||
-- AND table_name = 'organizations'
|
||||
-- AND column_name IN (
|
||||
-- 'address_city', 'address_zip', 'address_street_name', 'address_street_type', 'address_house_number',
|
||||
-- 'billing_zip', 'billing_city', 'billing_street_name', 'billing_street_type', 'billing_house_number',
|
||||
-- 'notification_zip', 'notification_city', 'notification_street_name', 'notification_street_type', 'notification_house_number'
|
||||
-- );
|
||||
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user