Podczas korzystania z katalizatora istnieje sposób na określenie bazy danych dev, testowej i produkcyjnej, jak w Railsach? Przejrzałem dokumentację, ale nie znalazłem odpowiedzi.Czy istnieje sposób użycia bazy danych testowych w katalizatorze?
Odpowiedz
Nawiązując z CPAN Catalyst Testing Tutorial
Możesz chcieć utrzymać zarówno „bazy produkcyjne” do aplikacji na żywo i „bazy danych badawczych” dla swoich przypadków testowych.
DATABASE KONFIGURACJA PRZEŁĄCZANIE w modelu CLASS
Jednym z rozwiązań jest umożliwienie specyfikacja bazie być nadpisane zmiennej środowiska. Na przykład otwarte lib/MojaApl/Model/MyAppDB.pm w edytorze i zmienić deklarację
__PACKAGE__->config(...
przypominać:my $dsn = $ENV{MYAPP_DSN} ||= 'dbi:SQLite:myapp.db'; __PACKAGE__->config( schema_class => 'MyAppDB', connect_info => [ $dsn, '', '', { AutoCommit => 1 }, ], );
Następnie, po uruchomieniu przypadek testowy, można użyć polecenia takie jak:
$ cp myapp.db myappTEST.db
$ CATALYST_DEBUG = 0 MYAPP_DSN = "dBi: SQLite: myappTEST.db" udowodnić --lib lib -vt/live_app01.tTo modyfikować DSN tylko podczas teczka testowa jest uruchomiona. Jeśli uruchomisz normalną aplikację bez zdefiniowania zmiennej środowiskowej MYAPP_DSN , domyślnie będzie to ta sama dbi: SQLite: myapp.db jako wcześniej.
BAZA CONFIG PRZEŁĄCZANIE użyciu wielu plikach konfiguracyjnych
Wykorzystując Catalyst::Plugin::ConfigLoader s funkcjonalność ładowania wielu plików konfiguracyjnych na podstawie zmiennych środowiskowych można przesłonić domyślnej (produkcja) ustawienia połączenia z bazą danych.
Ustawianie $ ENV {MYAPP_CONFIG_LOCAL_SUFFIX} do „testowania” w wynikach testu skrypt ładowania dodatkowego pliku konfiguracyjnego o nazwie myapp_testing.conf po myapp.conf które zastępują wszelkie parametry w myapp.conf.
Należy ustawić zmienną środowiskową w bloku BEGIN swojego skryptu testowego , aby upewnić się, że została ustawiona przed uruchomieniem aplikacji Catalyst pod numerem .
Poniżej jest przykład dla skryptu konfiguracyjnego i testowego dla modelu DBIx :: klasę o nazwie MojaBD i kontrolera o nazwie Foo:
myapp_testing.conf:
<Model::MyDB> <connect_info> dsn dbi:SQLite:myapp.db </connect_info> </Model::MyDB>
Sprawdź również this podczas korzystania z oddzielnych baz danych
- 1. Czy znasz darmowy generator danych testowych dla bazy danych mysql?
- 2. Czy istnieje sposób aktualizacji bazy danych SQLITE za pomocą delt?
- 3. Czy istnieje sposób na zapewnienie uwierzytelnienia dla bazy danych riak?
- 4. Czy istnieje sposób ponownego użycia instancji zadania?
- 5. Czy istnieje sposób użycia STOMP dla iOS
- 6. Czy istnieje sposób użycia ko.observableArray jako mapy?
- 7. Czy istnieje sposób na utrzymanie danych HSQLDB?
- 8. Czy istnieje sposób użycia `dynamic` w drzewie wyrażeń lambda?
- 9. Czy istnieje ograniczenie rozmiaru bazy danych SQLite?
- 10. Czy istnieje jakiś sposób, aby wykryć, czy tabela bazy danych istnieje z laravel
- 11. Czy istnieje sposób użycia dwóch instrukcji "..." w funkcji w R?
- 12. Czy istnieje sposób migracji danych z podstawowych danych do internetowej bazy danych?
- 13. Czy istnieje sposób użycia C++ w rozszerzeniu chrome?
- 14. Czy istnieje sposób użycia odpowiednika "rowspan" w XSL-FO?
- 15. Czy istnieje sposób na cofnięcie użycia `` `w Julii?
- 16. Czy istnieje sposób użycia Matlab Image Processing Toolbox w F #?
- 17. Czy istnieje sposób użycia wbudowanego sass w komponenty Angular2?
- 18. Czy istnieje sposób użycia kluczy zmiennych w dosłownym obiekcie JavaScript?
- 19. Czy istnieje lepszy sposób wyświetlania użycia procesora w tmux?
- 20. Czy istnieje sposób określenia portu lokalnego do użycia w tcpClient?
- 21. Czy istnieje sposób użycia setOnClickListener z Androidem Spinner?
- 22. Czy istnieje sposób wizualnego wyświetlania widoku w diagramie bazy danych w programie SQL Server 2008?
- 23. Czy istnieje sposób użycia warunku instrukcji If jako jej wartości?
- 24. Czy istnieje sposób użycia faset z pg_search gem
- 25. Czy istnieje sposób użycia schematu JSON-LD niewypowiedziany
- 26. Czy istnieje sposób użycia ConcurrentDictionary.TryUpdate z wyrażeniem lambda?
- 27. Czy istnieje sposób ponownego użycia poprzedniego komentarza dotyczącego zatwierdzenia git?
- 28. Czy istnieje sposób użycia klucza dynamicznego z węzłem-mongodb-native?
- 29. Czy istnieje sposób użycia kątowego 2 bez modułu ładującego?
- 30. Czy istnieje sposób użycia TextWrangler do czyszczenia/porządkowania niechlujnego XML?
Czy przeczytałeś [to] (http://www.catalystframework.org/calendar/2005/19)? – StarPinkER