2010-11-08 26 views
5

Tenemos todas nuestras pruebas unitarias escritas para que creen y llenen tablas en HSQL. Quiero que los desarrolladores que usen esto puedan escribir consultas en este HSQL DB (1) al escribir las consultas puedan entender mejor el modelo de datos y los que no están tan familiarizados con SQL puedan jugar con los datos antes de escribir los enunciados de tiempo de ejecución y 2) ya que no tienen acceso a la prueba DB/razones de seguridad). ¿Hay alguna manera de persistir los resultados de los datos de prueba para que puedan examinarse y analizarse con un cliente sql?¿Hay alguna manera de conservar los datos HSQLDB?

En este momento estoy jurado cambiando el origen de datos a un DB diferente (como DB2/mysql, luego conectándome a ese DB en mi máquina para poder jugar con datos persistentes), sin embargo, sería más fácil para mí si HSQL admite continuar esto antes que explicar cómo hacer esto a cada desarrollador nuevo.

Para que quede claro, necesito un cliente SQL para interactuar con datos persistentes, por lo que la depuración y comprobación de la memoria no estarán limpias. Esto tiene más que ver con el desarrollo inicial y no con la depuración/mantenimiento/prueba.

Respuesta

5

Si utiliza una instancia del servidor HSQLDB para sus pruebas, los datos sobrevivirán la ejecución de la prueba.

Si el servidor utiliza una url jdbc: hsqldb: mem: aname (all-in-memory) para su base de datos, entonces los datos estarán disponibles mientras el servidor se está ejecutando. Alternativamente, el servidor puede usar una URL jdbc: hsqldb: file: filepath y los datos se conservan en los archivos.

Los últimos documentos de HSQLDB explican las diferentes opciones. La mayoría de las observaciones también se aplican a versiones anteriores (1.8.x). Sin embargo, la última versión 2.0.1 admite iniciar un servidor y crear bases de datos dinámicamente en la primera conexión, lo que puede simplificar mucho las pruebas.

http://hsqldb.org/doc/2.0/guide/deployment-chapt.html#N13C3D

+0

puede conectar un cliente de SQL a cualquier cosa que hsqldb persiste? – Zombies

+0

Cuando ejecuta HSQLDB como servidor, se ejecuta de manera similar a DB2. Utiliza el servidor como fuente de datos y también puede usar un cliente SQL como HSQLDB DatabaseManager o Squirrel para conectarse al servidor y jugar con los datos. – fredt

Cuestiones relacionadas