2017-01-11 21 views
10

Uczę się Sequelize i chciałbym wyjaśnienia dotyczące synchronizacji i migracji.Sequelize Sync vs Migrations

Rozumiem, że synchronizacja spowoduje utworzenie brakujących tabel na podstawie mojego schematu modelu, ale ja również przeczytałem, że synchronizacja służy do inicjowania bazy danych, podczas gdy migracje są przeznaczone do produkcji.

Jeśli tak jest, to przykład ekspresowy pokazuje calling sync from bin/www. Czy to coś, czego nie powinno się używać w produkcji?

W związku z tym, jeśli nie używam synchronizacji w produkcji, w jaki sposób stosujesz powiązania modelu? Czy muszę ręcznie dodać je do migracji?

Zasadniczo proszę o wyjaśnienie, w jaki sposób te dwa pojęcia mają współpracować.

Dzięki

Odpowiedz

3

Polecam przy użyciu migracje sequelize w rozwoju i produkcji, dzięki czemu są w pełni zaaklimatyzować z procesem które dadzą bezpieczne wyniki również sequelize synchronizacji bez siły stworzy tylko nowe tabele z określonym schematem, które nie są obecny w bazie danych, nie będzie odzwierciedlał zmian w istniejącym schemacie tabeli. Sequelize migrations pomoże Ci zaktualizować bazę danych w sposób systematyczny i przyrostowy.

Ta strona zawiera więcej informacji na ten temat.

Sequelize.js: how to use migrations and sync

http://corpus.hubwiz.com/2/node.js/21105748.html

+0

Dzięki za odpowiedź. Ten artykuł jest dobrym zasobem. Czy mam założyć, że dodanie "podkreślonej: prawda" lub "onDelete:" kaskada "do definicji JS modelu (nie migracja) nie będzie miało żadnego wpływu, jeśli synchronizacja nie zostanie wywołana? – adampetrie

+0

Po prostu odkryłem, że Twój link jest zeskrobaną wersją tego pytania SO: http://stackoverflow.com/questions/21105748/sequelize-js-how-to-use-migrations-and-sync Wersja SO zawiera więcej informacji więc może zamiast tego zmień swój link do SO. – adampetrie