Quando si utilizza catalyst c'è un modo per specificare un database di sviluppo, test e produzione come si farebbe in Rails? Ho esaminato la documentazione ma non ho trovato una risposta.C'è un modo per utilizzare un database di test in catalyst
risposta
Con riferimento da CPAN Catalyst Testing Tutorial
Si potrebbe desiderare di mantenere sia un "database di produzione" per la vostra applicazione dal vivo e una "banca dati di test" per i vostri casi di test.
database di configurazione PASSAGGIO NEL VOSTRO MODELLO CLASSE
Una soluzione è quella di consentire la specifica banca dati per essere sovrascritta con una variabile d'ambiente. Ad esempio, aprire lib/frontend/Modello/MyAppDB.pm nel vostro editor e cambiare la dichiarazione
__PACKAGE__->config(...
per assomigliare:my $dsn = $ENV{MYAPP_DSN} ||= 'dbi:SQLite:myapp.db'; __PACKAGE__->config( schema_class => 'MyAppDB', connect_info => [ $dsn, '', '', { AutoCommit => 1 }, ], );
Poi, quando si esegue il test case, è possibile utilizzare i comandi come ad esempio:
$ cp myapp.db myappTEST.db
$ CATALYST_DEBUG = 0 MYAPP_DSN = "DBI: SQLite: myappTEST.db" dimostrare --lib lib -vt/live_app01.tQuesto modificherà il DSN solo mentre il test case è in esecuzione. Se l'utente avvia la normale applicazione senza la variabile ambiente definita MYAPP_DSN, verrà utilizzata per default lo stesso dbi: SQLite: myapp.db come precedente.
database di configurazione ACCENSIONE L'utilizzo di più File di configurazione
Utilizzando le funzionalità Catalyst::Plugin::ConfigLoader s per il carico più file di configurazione basati su variabili di ambiente è possibile sovrascrivere predefinita (produzione) impostazioni di connessione al database.
Impostazione $ ENV {} MYAPP_CONFIG_LOCAL_SUFFIX a 'test' nel test risultati di script nel caricamento di un file di configurazione aggiuntivo chiamato myapp_testing.conf dopo myapp.conf che sovrascriverà i parametri in myapp.conf.
È necessario impostare la variabile di ambiente nel blocco BEGIN dello script di prova per assicurarsi che sia impostato prima che l'applicazione Catalyst sia avviata.
Il seguente è un esempio di uno script di configurazione e il test per un modello DBIx :: classe denominata MyDB e un controller di nome Pippo:
myapp_testing.conf:
<Model::MyDB> <connect_info> dsn dbi:SQLite:myapp.db </connect_info> </Model::MyDB>
Controllate anche this quando si utilizzano database separati
- 1. È possibile utilizzare un progetto di database di Visual Studio in un progetto di test dell'unità per configurare un database vuoto per un test funzionale?
- 2. Esiste un modo per consentire a più catene di condividere lo stesso endpoint in Catalyst?
- 3. Test di integrazione su un database - AVA
- 4. In che modo posso scaricare django seder nel database di test per i miei test funzionali?
- 5. modo migliore per utilizzare un C Interfaccia ++
- 6. Quali sono le migliori pratiche per la distribuzione di un'applicazione Catalyst su un server di produzione?
- 7. Qual è un buon modo per utilizzare un cmdlet PowerShell in un sistema di build NAnt?
- 8. Test iOS: esiste un modo per saltare i test?
- 9. Schermata di debug meno dettagliata in Catalyst?
- 10. Qual è il modo consigliato di utilizzare un perl non di sistema per un'app Web?
- 11. C'è un modo per scrivere un test SFINAE di "per-mangiabilità" di un tipo?
- 12. Come utilizzare FactoryGirl per costruire un database di sviluppo?
- 13. Un repository statico è un modo giusto per utilizzare NHibernate?
- 14. Modo efficiente per memorizzare gli articoli riordinabili in un database
- 15. Django - Compilazione di un database a scopo di test
- 16. test per "EndsWith" in modo efficiente con un Regex
- 17. Come utilizzare Python con un database?
- 18. Come utilizzare il database di test con Capybara?
- 19. Alla ricerca di un modo per utilizzare un NSArray come presa per un gruppo di pulsanti
- 20. Come utilizzare enum in un database Postgres in Rails 3?
- 21. Esiste un modo per fornire l'autenticazione per il riak database?
- 22. Il modo migliore per memorizzare un array nel database MySQL?
- 23. Scegliere un modo appropriato per utilizzare Neo4j in Python
- 24. È un ottimo modo per utilizzare Namespaces in PHP
- 25. Utilizzare il componente in modo ricorsivo per creare un albero
- 26. Utilizzare un database postgres con symfony3
- 27. Come impostare arricciatura per utilizzare in modo permanente un proxy?
- 28. Qual è il modo migliore per archiviare/recuperare i dati per un desktop senza utilizzare un database?
- 29. Codeigniter: il modo migliore per utilizzare due database diversi
- 30. Catalyst Template :: Toolkit render output
Hai letto [questo] (http://www.catalystframework.org/calendar/2005/19)? – StarPinkER