2011-06-07 16 views
14

. Estoy intentando acceder a las tablas de mi aplicación en Play! Framework, pero no puedo encontrarlo usando la consola. Por ejemplo, tengo dos modelos de entidades: Address y Campus.Acceda a las tablas de la base de datos mem o fs utilizando la consola H2

Puedo crear objetos y guardar normalmente, pero me gustaría ver los cambios en fs o mem DB, pero la consola H2 no muestra las tablas Address y Campus. Estoy usando la configuración predeterminada para iniciar sesión en localhost:9000/@db.

¿Qué estoy haciendo mal?

Gracias de antemano.

+0

no sé el marco juego hasta el momento ... ¿cuál es la URL de su base de datos (si hay una URL base de datos en este marco)? –

+0

Gracias por esto, este es un H2 Gui para PlayFramework, ¡me ha ahorrado mucho trabajo buscando una GUI! –

Respuesta

18

la URL correcta de la base de datos inmemory es:

jdbc:h2:mem:name-of-your-play-db 
+0

la URL se registra en la información de registro y puede tomarla desde allí. –

0

Lo más probable es que el problema sea la URL de la base de datos, por lo que su aplicación y la consola H2 están utilizando bases de datos diferentes. Sugiero usar una URL de base de datos del formulario jdbc:h2:~/data/test o (tal vez incluso mejor) usando una ruta absoluta del formulario jdbc:h2:/data/test, o al usar Windows incluso con letra de unidad: jdbc:h2:c:/data/test. Consulte la documentación sobre where the database files are stored.

+0

es eso solo por el método del sistema de archivos? Si voy a hacer un sistema de archivos, yo también uso postgres .... PERO me encantaría conectarme con el de memoria porque es muy rápido (sin i/o de disco). –

+0

no importa, no sabía localhost: 9000/@ db era una url que podría usar que en realidad funciona !!!! y solo presiona el botón de conexión. por supuesto, recibí un error interno porque tenía la consola H2 funcionando ... no puedo hacer eso por alguna razón. –

+0

No entendí completamente lo que escribió ... pero tenga en cuenta que cuando se usa 'jdbc: h2: tcp: // localhost: 9000/@ db' es relativo al directorio de trabajo actual del servidor. Un directorio absoluto sería 'jdbc: h2: tcp: // localhost: 9000 // data/test' (dos barras posteriores después de: 9000). –

10

pasos que tomó para conseguir una consola de base de datos de H2 sistema de archivos de trabajo donde mi aplicación está en c:\play\myapp:

  1. Ir a localhost: 9000/@DB
  2. Elija la opción genérica servidor H2 en el primer cuadro de
  3. Para introducir la url jdbc:h2:file:c:/play/myapp/db/h2/play
  4. nombre de usuario es contraseña de sa está en blanco
+0

Sí, no hagas lo que hice y agrega la extensión .h2 al nombre del archivo de reproducción en el paso 3. –

Cuestiones relacionadas