nieraczek
15.02.2009, 18:45:40
Gdy zechcemy dodać nową tabelę do bazy danych to czy korzystne jest jej definiowanie w schemacie yml a potem użycie polecenia, które usunie wszystko z bazy danych i załaduje nowe tabele ? Oczywiście można wyeksportować i zaimportować dane z bazy danych, ale to rodzi niebezpieczeństwo, że część danych podczas eksportu lub importu wczyta się niepoprawnie, np. jakieś ruskie znaczki. Poza tym gdy mamy już bardzo dużo danych w tabelach to ich eksport i import potrwa ogrom czasu. Czy nie lepiej więc tworzyć schemat yml automatycznie na podstawie tabel w bazie danych a nie tabele w bazie danych na podstawie schematu yml ?
destroyerr
15.02.2009, 19:25:52
Jeśli po zakończeniu projektu i zakodowaniu wszystkiego stwierdzisz, że jednak projekt był zły lub po prostu mu czegoś brakuje to dodanie jednej tabeli można zrobić na 3 sposoby (może i więcej, nie wiem).
1. Ręcznie dodać do bazy danych tabele i wpisać ją też do schema.yml i zbudować model
2. Ręcznie dodać do bazy danych tabele i za pomocą propela lub doctrine zbudować na podstawie bazy danych model (symfony *:build-schema)
3. Dodać tabele do schema.yml zbudować model, zbudować zapytania sql, otworzyć plik z tym zapytaniem i wrzucić do bazy danych.
W sumie te rozwiązania są podobne, użyjesz tego, które będzie najwygodniejsze.
Whisller
15.02.2009, 21:11:19
Ale mówisz już o zmianach na bazie produkcyjnej? Jeśli tak to zapoznaj się z tym pluginem
http://www.symfony-project.org/plugins/sfP...ionsLightPlugin do migracji bazy danych.
Co do samego propela to także planowane są/trwają pracę nad systemem migracji
http://propel.phpdb.org/trac/ticket/632