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
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
Post #2





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




porzuc schema:update i przerzuc sie na migracje
Go to the top of the page
+Quote Post
robert0770
post
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
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
Go to the top of the page
+Quote Post
robert0770
post
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
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
Go to the top of the page
+Quote Post
robert0770
post
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
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
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
Go to the top of the page
+Quote Post
Puszy
post
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
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?
Go to the top of the page
+Quote Post
Puszy
post
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
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 (IMG:style_emoticons/default/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.
Go to the top of the page
+Quote Post
Puszy
post
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
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 (IMG:style_emoticons/default/smile.gif) A juz sie balem ze przeoczylem cos powaznego
Go to the top of the page
+Quote Post
Puszy
post
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 21:36