Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony2][Symfony]Problem z updatem bazy danych
Matrix12
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 22.03.2015

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


Witam,

prowadzę projekt w SF2 i dodałem nową encje chciałem zrobić doctrine:schema:update --force a tu błąd z informacją że jakaś tabela istnieje.. problem w tym że takiej tabeli nigdy nie utworzyłem, nie wiem skąd ją on zna. Jednak zmieniłem bazę danych na inna by dalej kontynuować no i jest problem nadal jest to samo. Nowa baza a on nadal że ta tabela istnieje.. Zrobiłem doctrine:cache:clear-metadata, doctrine:cache:clear-result ale nadal to samo. Nie wykorzystuje tej tabeli nigdzie, nawet nie wiem skąd ja on ma,
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
ohm
post
Post #2





Grupa: Zarejestrowani
Postów: 623
Pomógł: 144
Dołączył: 22.12.2010

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


a co z doctrine:schema:validate?
Sprawdź czy nie masz w encjach w @table gdzieś zdublowanej nazwy, szczególnie w tej nowej.
Go to the top of the page
+Quote Post
Matrix12
post
Post #3





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 22.03.2015

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


Doctrine validate daje to : [Doctrine\DBAL\Schema\SchemaException] i że tabela istnieje. Sprawdzałem i nic.. Właśnie nie wiem dlaczego taki jest błąd..
Go to the top of the page
+Quote Post
kpt_lucek
post
Post #4





Grupa: Zarejestrowani
Postów: 428
Pomógł: 77
Dołączył: 10.07.2011
Skąd: Warszawa

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


To znaczy, że: w projekcie istnieje już ORM'owa implementacja w/w tabeli
Go to the top of the page
+Quote Post
Matrix12
post
Post #5





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 22.03.2015

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


Właśnie problem w tym że nie istnieje. Nie mam żadnej encji która by reprezentowała tą tabele, ba nawet w samej bazie jej nie ma..
Przeszukałem cały projekt tej frazy czy coś podobnego co mógłbym jakoś sprawdzić. Niestety nic.

Ten post edytował Matrix12 7.11.2015, 12:26:19
Go to the top of the page
+Quote Post
kpt_lucek
post
Post #6





Grupa: Zarejestrowani
Postów: 428
Pomógł: 77
Dołączył: 10.07.2011
Skąd: Warszawa

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


Ręcznie wywal cache
Go to the top of the page
+Quote Post
Matrix12
post
Post #7





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 22.03.2015

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


Sprawdzę jeszcze asocjacje bo tutaj może być błąd

Pogrzebałem w asercjach i jakoś się udało nie krzyczy błędem. Problem teraz mam z peryzystencją. Problem w tym że to bardzo prosty skrypt...
Pobiera dane z zewnętrznego serwisu i zapisuje. Sprawdziłem $products jest tablicą nie jest ona pusta.. ale rekordy się nie zapisują. Próbowałem z przeniesieniem flusha to foreacha ale też nic.. wcześniej ten kod zapisywał.. Co w nim jest nie tak?


  1. foreach($products as $product){
  2. $product = new Product;
  3. $product->setName($product);
  4. $product->setCreatedAt(new \DateTime());
  5. $product->setUpdatedAt(new \DateTime());
  6. try{
  7. $em->persist($product);
  8. }catch(\Doctrine\DBAL\DBALException $e){
  9. throw new Exception($e->getMessage());
  10.  
  11.  
  12. }
  13. try{
  14. $em->flush();
  15. $em->commit();
  16. }catch(\Doctrine\DBAL\DBALException $e){
  17. $em->rollback();
  18.  
  19. }
  20. //reszta kodu
Go to the top of the page
+Quote Post
destroyerr
post
Post #8





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

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


Trudno stwierdzić co jest nie tak, zwłaszcza, że przechwytujesz wyjątek i w żaden sposób go nie obsługujesz.
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




foreach($products as $product){
$product = new Product;
$product->setName($product);

Naprawde nie widzisz ze nadpisujesz zmienna $product? Rada na przyszlosc. Nazywaj zmienne roznie (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
Matrix12
post
Post #10





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 22.03.2015

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


To jest example kod, i faktycznie tutaj dwa razy napisałem produkt. Poradziłem sobie z tym także dzięki. Problemem było połączenie z tabelą.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.12.2025 - 20:36