Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Trigger autoaktualizujący co dwa tygodnie
cv65
post 31.07.2013, 15:57:06
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 9
Dołączył: 12.04.2009

Ostrzeżenie: (20%)
X----


Witam

Piszę trigger do prestashop-u mam już coś takiego:

  1. CREATE TRIGGER change_active_after_update AFTER UPDATE ON ps_stock_available
  2. FOR EACH ROW
  3. BEGIN
  4. UPDATE ps_product_shop SET active=0 WHERE id_product IN (SELECT id_product FROM ps_stock_available WHERE quantity=0);
  5. UPDATE ps_product_shop SET active=1 WHERE id_product IN (SELECT id_product FROM ps_stock_available WHERE quantity>0);
  6. END


Chodzi przede wszystkim o dodanie opóźnienia 2 tyg, tylko produkty które dopiero zmienią swój stan, a nie wszystkie.
Oraz taki myk, żeby tylko wracały te które wcześniej były dostępne w sklepie (bo sklep ma masę produktów których nie sprzedajemy online, a po prostu jest zintegrowana baza z magazynem).

Meczę się już z tym któryś dzień z rzędu i nie mam pomysłu
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
dragger
post 31.07.2013, 23:59:47
Post #2





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 31.07.2013

Ostrzeżenie: (0%)
-----


W MySQL wyzwalacze wywoływane są "od razu" przed lub po wystąpieniu określonego zdarzenia. Nie ma możliwości opóźnienia ich o 2 tygodnie.

W opisanym przypadku najlepiej dodać dodatkową kolumnę w której będzie zapisywany czas ostatniej aktualizacji lub po prostu informacja że rekord został zaktualizowany. Następnie za pomocą CRONa należy wywoływać skrypt, który wykona określone działania na rekordach wg daty aktualizacji lub "oznaczonych" jako zaktualizowane w ciągu ostatnich 2tyg.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 06:42