[17.0][FIX] mass_mailing_custom_unsubscribe: Error migration SQL

pull/1629/head
FernandoRomera 2025-04-10 10:44:31 +02:00
parent 5f08f9d58e
commit f5a32662ab
1 changed files with 6 additions and 7 deletions

View File

@ -11,10 +11,9 @@ def migrate(env, version):
env.cr, env.cr,
""" """
INSERT INTO mailing_subscription_optout(id, name, is_feedback, sequence) INSERT INTO mailing_subscription_optout(id, name, is_feedback, sequence)
VALUES ( SELECT id, name, details_required, sequence
SELECT id, name, details_required, sequence FROM mail_unsubscription_reason
FROM mail_unsubscription_reason
)
""", """,
) )
# For mailing lists, get the last unsubscription for every mail and create # For mailing lists, get the last unsubscription for every mail and create
@ -26,7 +25,7 @@ def migrate(env, version):
SELECT SELECT
mu.id, mu.id,
CAST(SPLIT_PART(mu.unsubscriber_id, ',', 2) AS INTEGER) AS contact_id, CAST(SPLIT_PART(mu.unsubscriber_id, ',', 2) AS INTEGER) AS contact_id,
COALESCE(mu.mailing_list_id, rel.mailing_list_id) AS list_id, COALESCE(mu.mass_mailing_id, rel.mailing_list_id) AS list_id,
mu.action, mu.action,
mu.reason_id, mu.reason_id,
mu.create_uid, mu.create_uid,
@ -39,7 +38,7 @@ def migrate(env, version):
ROW_NUMBER() OVER ( ROW_NUMBER() OVER (
PARTITION BY PARTITION BY
CAST(SPLIT_PART(mu.unsubscriber_id, ',', 2) AS INTEGER), CAST(SPLIT_PART(mu.unsubscriber_id, ',', 2) AS INTEGER),
COALESCE(mu.mailing_list_id, rel.mailing_list_id) COALESCE(mu.mass_mailing_id, rel.mailing_list_id)
ORDER BY mu.id DESC ORDER BY mu.id DESC
) AS rn ) AS rn
FROM FROM
@ -49,7 +48,7 @@ def migrate(env, version):
WHERE WHERE
mu.unsubscriber_id LIKE 'mailing.contact,%' mu.unsubscriber_id LIKE 'mailing.contact,%'
AND SPLIT_PART(mu.unsubscriber_id, ',', 2) ~ '^[0-9]+$' AND SPLIT_PART(mu.unsubscriber_id, ',', 2) ~ '^[0-9]+$'
AND (mu.mailing_list_id IS NOT NULL OR rel.mailing_list_id IS NOT NULL) AND (mu.mass_mailing_id IS NOT NULL OR rel.mailing_list_id IS NOT NULL)
AND mu.action IN ('subscription', 'unsubscription') AND mu.action IN ('subscription', 'unsubscription')
) )
INSERT INTO mailing_subscription ( INSERT INTO mailing_subscription (