BillTechPL / lms-billtech-plugin

Other
6 stars 7 forks source link

bugfix: added drop table if exists to newly added tables #119

Closed interduo closed 1 year ago

smiecielica-billtech commented 1 year ago

@interduo wydaje mi się że aby podbić wersje db należałoby dodać także sql'kę z tej migracji: https://github.com/BillTechPL/lms-billtech-plugin/blob/96b9025921254ac18c507b3ed28f48d17bfb6429/lib/upgradedb/postgres.2022011200.php

interduo commented 1 year ago

Można (dodam, że nic się nie zmienia w bazie czyli podbić, żeby podbić).

interduo commented 1 year ago

@smiecielica-billtech proszę w https://github.com/BillTechPL/lms-billtech-plugin/pull/121

smiecielica-billtech commented 1 year ago

@interduo nie, chodziło mi o dodanie tych constrainow, bo tak to chyba jest opcja ze tamta migracja nie zadziala jesli w podstawowej wersji bedzie data podbita

interduo commented 1 year ago

@smiecielica-billtech nie rozumiem - których constraintów? pokaż proszę odniesienie do konkretnej linii z kodu PR to może zaczaję

Może chodzi Ci o stałe/consts? Jeśli tak to: https://github.com/BillTechPL/lms-billtech-plugin/compare/master...interduo:lms-billtech-plugin:patch-12

smiecielica-billtech commented 1 year ago

Chodzi o dodanie do tej inicjalnej sqlki tego kodu poniżej, bo teraz tego nie ma. A jak w niej bedzie wysoka wersja bazy to możliwe, że ta migracja która to robi nie zostanie odpalona.

ALTER TABLE billtech_payment_links DROP CONSTRAINT billtech_payment_links_src_cash_id_fkey, ADD CONSTRAINT billtech_payment_links_src_cash_id_fkey FOREIGN KEY (src_cash_id) REFERENCES cash ON DELETE SET NULL

ALTER TABLE billtech_payment_links DROP CONSTRAINT billtech_payment_links_src_document_id_fkey, ADD CONSTRAINT billtech_payment_links_src_document_id_fkey FOREIGN KEY (src_document_id) REFERENCES documents ON DELETE SET NULL

interduo commented 1 year ago

Nie trzeba - DROP TABLE IF EXISTS billtech_payment_links usunie ten constraint.

interduo commented 1 year ago

@smiecielica-billtech przy pierwszym tworzeniu DB pojawi się ten constraint bo jest kod: https://github.com/BillTechPL/lms-billtech-plugin/blob/master/doc/lms.pgsql#L38-L39

więc oprócz tego PR sugeruję wrzucić:

Będzie wtedy komplet zmian. Prawda?

interduo commented 1 year ago

@smiecielica-billtech wypuścisz to dzisiaj? Wrzucam wtyczkę u ProIP i od razu stestował bym najnowszy stan repo.

smiecielica-billtech commented 1 year ago

@interduo wypuszczę dziś, przy czym wciąż nie do końca rozumiem gdzie ten constraint miałby się utworzyć, ja są tam dodawane tylko indeksy. Jest on ważny ze względu na to, że dzięki niemu automatycznie cancellowane do linki do usunietych cash/documents.

interduo commented 1 year ago

Jeśli się nie mylę to constraint się utworzy natomiast jego nazwa będzie 'automatycznie wymyślona' - jeśli chcesz ją nadać jawnie trzeba zamiast:

  customer_id integer NOT NULL REFERENCES customers(id) ON DELETE CASCADE, 
  src_cash_id integer REFERENCES cash(id) ON DELETE SET NULL, 
  src_document_id integer REFERENCES documents(id) ON DELETE SET NULL, 

zrobić:

  customer_id integer NOT NULL
      CONSTRAINT billtech_payment_links_customer_id_fkey REFERENCES customers(id) ON DELETE CASCADE, 
  src_cash_id integer
      CONSTRAINT billtech_payment_links_src_cash_id_fkey REFERENCES cash(id) ON DELETE SET NULL, 
  src_document_id integer
      CONSTRAINT billtech_payment_links_src_document_id_fkey REFERENCES documents(id) ON DELETE SET NULL, 

Wpuszczę to w następnym PR - obecny i tak już mocno spuchł.