![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 6.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam, w mojej nauce nadszedł czas na frameworka i padło na symfony, no ale dosyć wstępu i przejdźmy do sedna.
Bawiąc się schemą postanowiłem dodać gdzieniegdzie unique: true i zaczęły się moje problemy. Przed zabawą zrobiłem sobie zrzut bazy docitrine:data-dump i zrzut bazy w phpmyadmin i jest wesoło bo nie mogę załadować danych do bazy za pomocą data-load (jak robię ładowanie danych za pomocą phpmyadmin wszystko śmiga) gdyż wyskakuje komunikat Duplicate entry '' for key 'name' gdy dam w komentarz uniqe wszystko wraca do normy i mam zonka ![]() Jeszcze jedno próbowałem czyścić cache i w bazie nie było żadnych danych bo też to sprawdzałem |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Wygląda na to, że nałożyłeś na kolumnę "name" indeks unikalny, a masz wiele rekordów dla których zdefiniowane jest name jako "" (pusty tekst) - więc czemu się dziwisz, że wywala błąd? Zamień te puste teksty na NULL, ustaw by indeks mógł przyjmować wartości NULL i po sprawie.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 6.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Już wiem czego to było powodem.
Podczas zrobienia zrzutu bazy (doctrine:data-dump) przy relacjach było Auhtor: Author_1 zamiast author_id = 1. Miałem tabelę gdzie było 9 rekordów i połączoną ją z tabelą gdzie były 2 rekordy. Doctrine stworzył zrzut tabeli ale pojawił się błąd bo zaczął tworzyć pola Author_3, Author_4 itd. natomiast tych rekordów nie było zdefiniowanych w pliku data.yml, zatem doctrine próbował je sobie wygenerować samoistnie właśnie poprzez wstawianie pustych stringów '' (nie jest to wartość null!), udało mi się naprawić to właśnie zamieniając Auhtor: Author_1 na author_id = 1. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 01:58 |