![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 153 Pomógł: 0 Dołączył: 20.04.2017 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
czy bezpiecznie dla danych w tabelach bazy dancyh zmieniać nazwy pól entities i doctrine:schema:update ?
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 279 Pomógł: 42 Dołączył: 10.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Schema update jest cancerogenny, proponuję jak najszybsze przerzucenie się na migracje. Masz wtedy pełną kontrolę nad tym co się dzieje z bazą.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 153 Pomógł: 0 Dołączył: 20.04.2017 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
kancerogenny?
Mam projekt pokazowy dla pracodawców z polskimi nazwami, chcę je zmienić na angielskie. Ten projekt ma tylko nie kłóć w oczy. Czy mogę zmieniać nazwy pól i zaktualizować tą komendą? Ten post edytował szczrzcz 28.05.2017, 18:51:30 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 279 Pomógł: 42 Dołączył: 10.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Chcesz zmienić nazwy kolumn w bazie czy nazwę pola w encji? Jeżeli kolumnę to wystarczy zmienić anotację. Jeżeli nazwę pola to nie jestem w do końca pewien co się stanie gdy zmienisz każde jedno pole w encji, nie wiem czy doctrine zapamiętuje kolejność pół etc.
Kancerogenny bo nie masz kontroli nad zmianami w bazie, korzystając z migracji możesz cofnąć się do konkretnej wersji plus widzisz wszystkie zmiany w postaci zapytań SQL. Dodatkowo rada, używaj angielskich nazw metod, pól klas etc. i nie korzysta ze słów kluczowych we własnych nazwach. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 153 Pomógł: 0 Dołączył: 20.04.2017 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
chcę zmienić pola entities, ale też nazwy w adnotacjach
i zaktualizować nazwy tabel i kolumn bazy danych przez doctrine:schema:update bo ten projekt gdzieś tam sobie wisi na hostingu by sobie poklikać. Zaryzykuję, i tak to nie są superważne dane, po prostu chciałbym mieć jak najmniej roboty. W ogóle czeka mnie dużo roboty z tą zmianą nazw, wątpię że to tak ładnie pójdzie, mam zamiar to robić CTRL+R, ciekaw jestem czy jest jakiś sprytniejszy sposób. Ten post edytował szczrzcz 28.05.2017, 20:36:58 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 279 Pomógł: 42 Dołączył: 10.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli zmienisz tylko name w anotacji to Doctrine sobie poradzi na 100%. W PHP Storm masz refaktoryzację, zmieniasz nazwę zmiennej a Storm szuka wszystkich referencji. Ogólnie działa ale warto przejrzeć przed wciśnięciem "refactor".
Ten post edytował Puszy 29.05.2017, 09:16:33 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 153 Pomógł: 0 Dołączył: 20.04.2017 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
ok, 2 dni zmieniania nazw PL-ENG.
ale gdy teraz zamiast:
mam :
to komenda doctrine:schema:update --dump-sql chce mi tworzyć nowe puste tabele, zamiast aktualizować stare nazwy. Czy źle rozumiem?
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Zmieniles nazwe klasy wiec dla doctrine jest to nowa encja. Jak chcesz zmienic tylko nazwe tabel to musisz nazwe klasy pozostawic a jedyne co zmienic to
* @ORM\Table(name="pracownik", indexes={@ORM\Index(name="idLogin_idx", columns={"idLogin"})}) na * @ORM\Table(name="employee", indexes={@ORM\Index(name="idLogin_idx", columns={"idLogin"})}) Oczywiscie jesli zmienisz tylko to, to bedziesz mial sieczke w php w postaci polskich nazw klas. Albo wiec zostaw, albo zmien klasy i pogodz sie z nowymi tabelami ![]() Masz teraz potwierdzenie tego co powiedzial Puszy Cytat Schema update jest cancerogenny, proponuję jak najszybsze przerzucenie się na migracje. Masz wtedy pełną kontrolę nad tym co się dzieje z bazą.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 02:17 |