Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony2][Symfony]Ręczne utworzenie encji i tabeli, jak?
robert0770
post 6.06.2017, 12:24:40
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 1
Dołączył: 18.02.2015

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


Witam, do tej pory korzystałem z adnotacji i funkcji doctrine:schema:update
Ale mój projekt jest dość spory i nie moge użyć schema:update dla całego projektu gdyż nie chce ingerować w resztę map(a wywala mi przy sql-dump wiele modyfikacji do innych tabel), zależy mi tylko na utworzeniu jednej encji zmapowaniu jej i stworzeniu tabeli dlatego chyba najlepszym rozwiązaniem będzie zrobienie tego ręcznie gdyż w schema:update nie mogę wskazać encji która bym chciał zmapować

napisałby mi ktoś w paru krótkich słowach jak się do tego zabrać? szczegóły sam obadam w internecie, zależy mi bardziej na jakimś schemacie działania

Ten post edytował robert0770 6.06.2017, 12:25:42
Go to the top of the page
+Quote Post
nospor
post 6.06.2017, 12:28:29
Post #2





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




porzuc schema:update i przerzuc sie na migracje


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
robert0770
post 6.06.2017, 12:43:55
Post #3





Grupa: Zarejestrowani
Postów: 42
Pomógł: 1
Dołączył: 18.02.2015

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


w sumie cos jest w consoli
doctrine:migrations:generate
Tym załatwie sprawie?
utworzy mi kod sql ktory nastepnie wklepie do bazy?
utworzy proxies encji?

i wszystko na podstawie encji z adnotacjami?
Go to the top of the page
+Quote Post
nospor
post 6.06.2017, 12:51:29
Post #4





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




Moze poprostu przeczytaj dokumetnacje, a bedziesz wiedzial jak dzialaja migracje

http://symfony.com/doc/current/bundles/Doc...ndle/index.html
Migracja to poprostu kod z php z komendami sql, ktore nalezy wykonac. Czy ty ten kod wygenerujesz recznie, czy posluzysz sie narzedziem, to juz inna bajka.
Z migracjami masz kontrole nad tym co sie wykona w bazie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
robert0770
post 6.06.2017, 13:00:20
Post #5





Grupa: Zarejestrowani
Postów: 42
Pomógł: 1
Dołączył: 18.02.2015

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


tak wiem, dzięki za odpowiedź

swoim pytaniem bardziej miałem na myśli czy w sekcji migracji utworzy się połączenie między encja a juz faktyczną tabelą (pewnie jakięś z cachowane informacje)
Go to the top of the page
+Quote Post
nospor
post 6.06.2017, 13:09:01
Post #6





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




Tam naprawde nie ma zadnych magicznych polaczen. Jesli w bazie jest wszystko to, na co wskazuje encja, to wszystko bedzie dzialac, niezaleznie czy to bylo tworzone przez schema:update, czy przez migracje, czy przez reczne rezanie w bazie.

W najgorszym wypadku bedziesz musial poprostu wyczyscic cache


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
robert0770
post 6.06.2017, 13:38:55
Post #7





Grupa: Zarejestrowani
Postów: 42
Pomógł: 1
Dołączył: 18.02.2015

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


ok dzięki wielkie!
Go to the top of the page
+Quote Post
Puszy
post 12.06.2017, 15:36:48
Post #8





Grupa: Zarejestrowani
Postów: 279
Pomógł: 42
Dołączył: 10.10.2011

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


Jeżeli korzystasz z PostgreSQL to pamiętaj że migracje czasami przy zrucaniu klucza w down() nie posiadają nazw schematów co może powodować rozjazdy między migracjami a bazą.
Go to the top of the page
+Quote Post
nospor
post 12.06.2017, 15:48:24
Post #9





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




@Puszy mozesz rozwinac watek? Szczerze powiedziawszy nie rozumiem co teraz napisales


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Puszy
post 12.06.2017, 15:55:22
Post #10





Grupa: Zarejestrowani
Postów: 279
Pomógł: 42
Dołączył: 10.10.2011

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


Gdy wymagane będzie zrzucenie indeksu to zamiast

  1. DROP INDEX foo_schema.idx_bca055d29395c3f3;


będziesz miał

  1. DROP INDEX idx_bca055d29395c3f3;


W przypadku PG 9.4 klucz nie zostanie usunięty. Migracja się wykona ale indeks dalej będzie istniał. I w przypadku gdy zrobisz up, down, up migracja wysypie się bo będziesz chciał dodać klucz który de facto już istnieje.

Ten post edytował Puszy 12.06.2017, 15:58:00
Go to the top of the page
+Quote Post
nospor
post 12.06.2017, 15:59:34
Post #11





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




No dobra, ale jesli bede chcial usunac index bez schemy, a co za tym idzie index nie bedzie istnial, to powinien dostac error przy robieniu down, nieprawdaz?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Puszy
post 12.06.2017, 16:01:16
Post #12





Grupa: Zarejestrowani
Postów: 279
Pomógł: 42
Dołączył: 10.10.2011

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


No to być może od razu przy down sypnie błędem, mówię trochę z pamięci bo mam już nawyk do tych schematów. W każdym razie jest to znany problem, zgłoszony do twórców Doctrine i póki co nie zapowiada się na oficjalny fix. Ale sprawdzę bo jestem niemal pewien że to przejdzie.

Ten post edytował Puszy 12.06.2017, 16:01:48
Go to the top of the page
+Quote Post
nospor
post 12.06.2017, 16:05:06
Post #13





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




Dokladnie, sypnie bledem, a co za tym idzie rollback sie nie powiedzie.
Kolejna rzecz, ze jak dzialasz na domyslnej schemie, to problemu w ogole nie bedzie.
I kolejna rzecz to migracje pisze sie zazwyczaj recznie, owszem mozna sie posilkowac doctrine, ale jak piszesz recznie to chyba wiec co piszesz wink.gif

No i najwazniejsza rzecz na koniec:
jak piszesz migracje, to zawsze musisz je sprawdzic. Ja gdy walne migracje to ja odpalam, sprawdzam co jest w bazie, potem dobie down, sprawdzam co jest w bazie, potem robie znowu migracje. Nawet wiec jesli index by sie nie usunal, to przy ponownym up juz by mi to wychwycilo. Nie wyobrazam sobie robienie migracji bez sprawdzenia jej.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Puszy
post 13.06.2017, 08:47:21
Post #14





Grupa: Zarejestrowani
Postów: 279
Pomógł: 42
Dołączył: 10.10.2011

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


Sprawdzenie jest wymagane jak najbardziej, chociazby gdy Twoja lokalna baza zawiera migracje np z innego brancha. Ja tworzę migrację przez diff a nastepnie ręcznie przeglądam SQLe i ewentualnie je dostosowuję.
Go to the top of the page
+Quote Post
nospor
post 13.06.2017, 08:51:25
Post #15





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




No dokladnie. Wiec jakby nie patrzec problemu nie ma smile.gif A juz sie balem ze przeoczylem cos powaznego


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Puszy
post 13.06.2017, 14:56:03
Post #16





Grupa: Zarejestrowani
Postów: 279
Pomógł: 42
Dołączył: 10.10.2011

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


Temat o którym wspomniałem:

https://github.com/doctrine/dbal/issues/2535
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.06.2025 - 09:46