46 lines
1.2 KiB
MySQL
46 lines
1.2 KiB
MySQL
|
-- Deploy numerus:_merge_collection_into_payment to pg
|
||
|
-- requires: collection
|
||
|
-- requires: collection_attachment
|
||
|
-- requires: invoice_collection
|
||
|
-- requires: payment
|
||
|
|
||
|
begin;
|
||
|
|
||
|
set search_path to numerus, public;
|
||
|
|
||
|
alter table payment
|
||
|
drop constraint if exists payment_amount_positive
|
||
|
, add constraint payment_amount_not_zero check (amount <> 0)
|
||
|
;
|
||
|
|
||
|
update payment
|
||
|
set amount = -amount
|
||
|
;
|
||
|
|
||
|
insert into payment (company_id, slug, description, payment_date, payment_account_id, amount, currency_code, tags, payment_status, created_at)
|
||
|
select company_id, slug, description, collection_date, payment_account_id, amount, currency_code, tags, payment_status, created_at
|
||
|
from collection
|
||
|
;
|
||
|
|
||
|
insert into payment_attachment (payment_id, original_filename, mime_type, content)
|
||
|
select payment_id, original_filename, mime_type, content
|
||
|
from collection_attachment
|
||
|
join collection using (collection_id)
|
||
|
join payment using (slug)
|
||
|
;
|
||
|
|
||
|
drop table collection_attachment;
|
||
|
|
||
|
insert into invoice_payment (invoice_id, payment_id)
|
||
|
select invoice_id, payment_id
|
||
|
from invoice_collection
|
||
|
join collection using (collection_id)
|
||
|
join payment using (slug)
|
||
|
;
|
||
|
|
||
|
drop table invoice_collection;
|
||
|
|
||
|
drop table collection;
|
||
|
|
||
|
commit;
|