Public release from ruodoo-project: 19.0 - 2026-11-01 22:52:25 UTC
This commit is contained in:
37
rsbu_vat/migrations/19.0.2026.10.01/pre-migrate.py
Normal file
37
rsbu_vat/migrations/19.0.2026.10.01/pre-migrate.py
Normal file
@@ -0,0 +1,37 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""Pre-migration для разделения rsbu.invoice на реализацию + СФ.
|
||||
|
||||
Снимает снимок передаточных полей (upd_*) отгрузочных СФ ДО того, как новая
|
||||
схема снимет эти колонки с rsbu_invoice. Снимок переживёт загрузку новой
|
||||
модели и используется post-скриптом для построения rsbu.realization.
|
||||
"""
|
||||
import logging
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def migrate(cr, version):
|
||||
if not version:
|
||||
return
|
||||
# Снимок строится ТОЛЬКО если колонки upd_* ещё существуют (защита от
|
||||
# повторного прогона pre-скрипта после снятия колонок).
|
||||
cr.execute("""
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (SELECT 1 FROM information_schema.columns
|
||||
WHERE table_name = 'rsbu_invoice'
|
||||
AND column_name = 'upd_shipper_id') THEN
|
||||
CREATE TABLE IF NOT EXISTS _mig_upd_snapshot AS
|
||||
SELECT id AS invoice_id, source_model, source_res_id,
|
||||
origin_move_id,
|
||||
upd_shipper_id, upd_consignee_id, upd_transferred_by_id,
|
||||
upd_received_by_id, upd_transport, upd_basis,
|
||||
upd_operation_content,
|
||||
partner_id, company_id, date, base_amount, vat_amount,
|
||||
vat_rate, state
|
||||
FROM rsbu_invoice
|
||||
WHERE invoice_type = 'shipment';
|
||||
END IF;
|
||||
END $$;
|
||||
""")
|
||||
_logger.info('rsbu_vat pre-migrate 19.0.2026.10.01 ran')
|
||||
Reference in New Issue
Block a user