Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Klucze obce w adminie - jak zapewniać spójność

Mamy zdjęcia przypisywane do galerii. Oczywiście każdy artykuł ma id_galerii i te id jest kluczem obcym. Jak zapewnić blokadę gdy w adminie będę chciał usunąć galerię do której są przypisane zdjęcia?
Uzywam propela, ale tutaj problem jest na pograniczu propela i generatora paneli administracyjnych.Wojciech Sznapka edytował(a) ten post dnia 13.08.08 o godzinie 21:12

konto usunięte

Temat: Klucze obce w adminie - jak zapewniać spójność

onDelete="Restrict" w schemacie ? tak sobie strzelam
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Klucze obce w adminie - jak zapewniać spójność

Michał W.:
onDelete="Restrict" w schemacie ? tak sobie strzelam

też tak uczyniłem zanim zapytałem, z marnym skutkiem
Piotr Paryna

Piotr Paryna webdesigner

Temat: Klucze obce w adminie - jak zapewniać spójność

spróbuj nie ustawiać w schemacie żadnej wartości onDelete dla klucza obcego

konto usunięte

Temat: Klucze obce w adminie - jak zapewniać spójność

No dobra ja bym po prostu model zmienił, dając odpowiedni warunek do metody delete... nie ma co kombinować
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Klucze obce w adminie - jak zapewniać spójność

Michał W.:
No dobra ja bym po prostu model zmienił, dając odpowiedni warunek do metody delete... nie ma co kombinować

słuszna uwaga :-)

konto usunięte

Temat: Klucze obce w adminie - jak zapewniać spójność

Przy okazji trochę sztuki użytkowej może się komuś przyda:
http://www.michalwujas.pl/2008/08/14/symfony-context-n...
;-)
Marek Wywiał

Marek Wywiał Programista,
administrator,
instruktor

Temat: Klucze obce w adminie - jak zapewniać spójność

Wojciech Sznapka:
Michał W.:
onDelete="Restrict" w schemacie ? tak sobie strzelam

też tak uczyniłem zanim zapytałem, z marnym skutkiem

Z tego co pamiętam, generator obiektów Base z niewiadomych przyczyn nie obsługuje zależności Restrict.

Dopisaliśmy to sami do generatora i teraz jest ok :)

konto usunięte

Temat: Klucze obce w adminie - jak zapewniać spójność

Marek Wywiał:
Wojciech Sznapka:
Michał W.:
onDelete="Restrict" w schemacie ? tak sobie strzelam

też tak uczyniłem zanim zapytałem, z marnym skutkiem

Z tego co pamiętam, generator obiektów Base z niewiadomych przyczyn nie obsługuje zależności Restrict.

Dopisaliśmy to sami do generatora i teraz jest ok :)

Zrezygnowałem z obsługi programowej onDelete na rzecz InnoDB bo propel przy np doDeleteAll albo doDelete potrafi wykonac X tysiecy zapytan ;-)
Paweł Michalak

Paweł Michalak Programista
Java/Android/iOS

Temat: Klucze obce w adminie - jak zapewniać spójność

Propel sam zapewnia taką ochronę. Muszą być tylko wygenerowane klucze obce na tabela, czyli poprawnie wygenerowana baza.
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Klucze obce w adminie - jak zapewniać spójność

Paweł Michalak:
Propel sam zapewnia taką ochronę. Muszą być tylko wygenerowane klucze obce na tabela, czyli poprawnie wygenerowana baza.

mam wygenerowane poprawnie klucze, bo działają w generatorze przy relacjach 1:N. mimo tego onDelete nie kuka

konto usunięte

Temat: Klucze obce w adminie - jak zapewniać spójność

A masz w schema dopisane onDelete="cascade" ? U mnie działało, ale oczywiscie usuwało po jednym ;)
Paweł Michalak

Paweł Michalak Programista
Java/Android/iOS

Temat: Klucze obce w adminie - jak zapewniać spójność

Wojciech Sznapka:
Paweł Michalak:
Propel sam zapewnia taką ochronę. Muszą być tylko wygenerowane klucze obce na tabela, czyli poprawnie wygenerowana baza.

mam wygenerowane poprawnie klucze, bo działają w generatorze przy relacjach 1:N. mimo tego onDelete nie kuka

No i tabele w schema.yml/xml muszą być w odpowiedniej kolejności żeby jedna nie orała Contraintów poprzedniej :) W Postgresie to wystarczy żeby propel łapał, ale to faktycznie jest uwarunkowane tym że z generatora są zakładane klucze obce i nie kasowane przez następne tabele (ważna kolejność!).

konto usunięte

Temat: Klucze obce w adminie - jak zapewniać spójność

Mała propaganda ;) - używam Doctrine i coś, o czym piszesz Wojtku, jest ustawione domyślnie.
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Klucze obce w adminie - jak zapewniać spójność

Jakub B.:
Mała propaganda ;) - używam Doctrine i coś, o czym piszesz Wojtku, jest ustawione domyślnie.


To dobrze, bo do następnego dużego projektu mam zamiar zaprzęgnąć Doctrine i poza dużym zapotrzebowaniem na pamięć widzę coraz więcej plusów :-)

Następna dyskusja:

Schema.yml 2 klucze obce




Wyślij zaproszenie do