2015-04-25 19 views
11

Zajmuję się tworzeniem aplikacji internetowych przy użyciu Zend Framework 2 i Doctrine 2. Jestem nowy w Doctrine 2 w ogóle, a Migrations w szczególności. Zastanawiam się, czy istnieją jakieś zalecane najlepsze praktyki w korzystaniu z tego. Kilka konkretnych rzeczy, których szukam:Doctrine 2 Migrations Workflow

  • Zalecany przepływ pracy od opracowania do wdrożenia?
  • Czy uwzględniasz wstępne zapełnianie danych w migracji?
  • Sposób obsługi powrotu do poprzedniej wersji w przypadku niepowodzenia migracji.

Wielkie dzięki!

+1

Kilka miesięcy temu napisałem [odpowiedź na przepływy pracy Propel migracji] (http://stackoverflow.com/a/28671466/472495). Nie wiem, jak rozpowszechniona jest moja praktyka (sam ją wymyśliłem) - za każdym razem, gdy testy są uruchamiane, buduję środowisko testów jednostkowych z migracji. Zapewnia to o wiele większy poziom zaufania przed uruchomieniem ich w środowiskach innych niż deweloperzy. Nie jest to szczególnie specyficzne dla Propela, więc może to jest interesujące? – halfer

Odpowiedz

4

Doctrine ma own library for migrations, który zawiera również pakiet Symfony.

Dla Zend prawdopodobnie istnieje some bundle as well (może szukać na Github nieco więcej)

Co do konkretnych pytań:

  1. Nic specjalnego. Podstawowy workflow jest ładnie opisany w Symfony bundle documentation. Używamy go w podobny sposób, nawet w innej strukturze.

  2. Tak, więc każdy programista ma w pełni działający system. Do testów używamy urządzeń z minimalnymi wymaganymi danymi.

  3. Jest zarządzany przez ten pakiet.

1

Moduł Docrine ORM dla ZF2 (DoctrineORMModule) ma wbudowane wsparcie dla migracji dokumentów Doctrine ORM. Jest a very brief blurb in the documentation about how to configure it. Następnie można uzyskać dostęp do komendy migracji (generowanie, migracji, itp) poprzez interfejs CLI że moduł daje (vendor/bin/doctrine-module)

chodzi o moje osobiste workflow ja generalnie umieścić inicjalizacji lub dane sprzed populacja - rzeczy początkowo zaszczepienia nowy instalacja za pomocą - w urządzeniach bazodanowych (which Doctrine ORM also supports i there is a ZF2 module for).

+0

Czy muszę jawnie wymagać "doktryny/migracji" z kompozytorem, czy tylko z 'doctrine/doctrine-orm-module' wystarczy? –