[Symfony 2] Jak wyczyścić bazę danych Doctrine?


(Vandavv96) #1

Witam

Czy istnieje jakaś komenda lub sposób na wyczyszczenie wpisów w bazie danych w Doctrine?

Próbowałem remove($object) , ale indeksy dalej szły tak, jakby wcześniejsze obiekty dalej istniały


(Mr Radzik) #2

Rekordy usuwasz w ten sposób:

$em->remove($object);

$em->flush();

Zerknij tutaj: http://docs.doctrine-project.org/en/2.0.x/reference/working-with-objects.html

Załóżmy, że miałeś 2 rekordy w bazie, o numerach id 1 i 2. Usunąłeś rekord o id 2. Dodajesz nowy rekord - ma on id = 3. Jest to całkowicie normalne i nie zależy od doctrine/symfony, tylko od bazy danych. Nie powinieneś się tym przejmować, właściwie numery id w tym kontekście w ogóle nie powinny Cię obchodzić.


(Vandavv96) #3

no właśnie pojawia się problem, ponieważ piszę forum i tam potrzebuję mieć posegregowane wg id posty i tematy.

np teraz mam 5 kategorii ,,Temat"


(pain3hp) #4

bierzesz sie za doctrine a nie masz podstaw z baz danych :frowning:


(Vandavv96) #5

musiałem nauczyć się php i symfony w 2 miesiące jak najlepiej, więc nie miałem czasu zgłębiać się w te tematy, a wiem, że tu są osoby, które znakomicie ogarniają temat


(Konrad Kosowski) #6

Zalteruj bazę danych tak, żeby kolumna ID nie była autoincrementowana. Będziesz musiał w związku z tym samodzielnie podawać id w insertach lub (co raczej możesz sobie jednak podarować) napisać procedurę, która będzie to robić za ciebie.


(Vandavv96) #7

Dzięki, tak zrobie :slight_smile: