![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 46 Dołączył: 31.07.2009 Skąd: A Ostrzeżenie: (0%) ![]() ![]() |
Mam bazę która często aktualizuje, kopie tej bazy postawiłem także na innych serwerach, chciałbym napisać skrypt który automatycznie uaktualniał by tabele z produktami
Baza to standardowa baza osCommerce, zastanawiam się jak się do tego zabrać. Aktualnie po prostu kasuję bazę w phpadminie i wrzucam aktualną wersje, ale w czasie tego zabiegu strony które korzystają z tej bazy są niedostępne... Zaktualizować potrzebuje 2 tabele odpowiedzialne za produkty (może z czasem będzie tego więcej) Jak to powinno wyglądać przynajmniej teoretycznie, aby było optymalne, a jeżeli ma ktoś fragment praktycznego kodu to już mógłbym go sobie z powodzeniem zmodyfikować. W zasadzie wydaje mi się ze powinienem z bazy głównej zebrać wszystkie rekordy za pomocą * i w teraz nie wiem czy update'm mogę przechodzić po tych kolejnych rekordach (z tej *) i wrzucać je tam gdzie klucze się zgadzają, w zasadzie bez sprawdzania czy zawartości się róznią Czy jednak lepiej skasować dana tabele/czy rekord i wgrać go na nowo ? Tak jak mówiłem szukam optymalnego rozwiązania, tak aby strony które korzystają z tej bady nie padały na czas aktualizacji |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 3 Dołączył: 25.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Stwórz skrypt który generował będzie plik xml (na bazie głównej) i co jakiś czas sprawdzaj z pozostałych baz/skryptów pliki xml i zbieraj zmiany.
Ale jak dla mnie bez ingerencji w skrypt i bazę głównego sklepu może być ciężko, chyba że masz małą ilość rekordów w tej głównej bazie / tabeli i chcesz przewalać ją całą. Lepiej dodać do tabeli kolumnę w której będzie ostatnia aktualizacja / dodanie wpisu, wtedy do generowanego pliku podajesz dane tylko z jakiegoś tam zakresu czasowego. Poco przewalać całą tabele gdzie np. zmian będzie tylko w 5-10%. A i jeszcze dobrze było by dodać w takim pliku który rekord jest już niedostępny / usunięty. Bynajmniej mi się tak wydaje. Pozd. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 17:50 |