2011-10-09 7 views
14

Soy más fresco de raíles y SQLite.sqlite3 - cómo listar el nombre de la base de datos usando el comando .databases?

Aquí está mi situación: Tenía sqlite3 instalado en mi máquina con Windows Vista. También se implementó un código de aplicación de blog en c:\rails\blog. Llamé a mi símbolo del sistema y fui directamente al c:\rails\blog\db. Ejecuté el comando sqlite3 para ingresar a la consola de la base de datos. cuando utilicé el comando .databases, ¿no se mencionó ninguna base de datos? ¿Por qué? ¿Qué he hecho mal?

Respuesta

17

Probablemente no abrir la base de datos en sí

sqlite3 database.db 

Recuerde, que en un SQLite la base de datos es solo un archivo. Mientras no abras o attach uno, no hay uno abierto. Por otro lado, cuando acaba de abrir la base de datos .databases se siente un poco inútil, porque sabe cuál acaba de abrir.

17

Debe proporcionar la base de datos (ruta y) nombre al comando sqlite3, por ejemplo,

Dev e$ sqlite3 my_test.db 
SQLite version 3.7.7 2011-06-23 19:49:22 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 
sqlite> .databases 
seq name    file              
--- --------------- ---------------------------------------------------------- 
0 main    /Users/e/Dev/my_test.db         
sqlite> 
1

Cuando ejecuta sqlite3 sin parámetros, se crea una base de datos temporal, que se destruirá tan pronto como el programa finalice. Esto es lo que hiciste.

Para acceder a la base de datos, debe especificar el nombre del archivo que contiene la base de datos.

$ sqlite3 my.db 
Cuestiones relacionadas