ruby-on-rails ruby ruby-on-rails-3 sqlite3 railstutorial.org

ruby on rails - $ bundle exec rake db: el comando reset no se pudo eliminar db/development.sqlite3



ruby-on-rails ruby-on-rails-3 (5)

Intenté ejecutar $ bundle exec rake db:reset y encontré lo siguiente en la consola

Couldn''t drop db/development.sqlite3 : #<Errno::EACCES: Permission denied - c:/sample_app/db/development.sqlite3> db/development.sqlite3 already exists -- create_table("users", {:force=>true}) -> 0.3940s -- add_index("users", ["email"], {:name=>"index_users_on_email", :unique=>true}) -> 0.1280s -- initialize_schema_migrations_table() -> 0.0010s -- assume_migrated_upto_version(20120419034627, ["c:/sample_app/db/migrate "]) -> 0.0040s

¿Cómo puedo resolverlo?

Editar Estaba siguiendo un tutorial y me dice que ejecute el comando anterior para eliminar todos los datos de la base de datos de forma segura. Y también estoy usando la cuenta de administrador.


Cuando haces db:reset , se ejecuta db:drop y db:setup en secuencia. Su mensaje de error indica que db/development.sqlite no se pudo eliminar.

Si está en Windows, tal vez deba detener su servidor y consola Rails. De lo contrario, averigüe qué impide que se elimine el archivo. Podría ser un problema de permiso. Un reinicio puede resolver el problema también.


He estado tratando de resolver el mismo problema. Detener Rails Server en Windows no ayudó, pero reiniciar todo el entorno hizo el truco, se ejecutó el paquete exec rake db: reset, pero asegúrese de no iniciar el servidor antes de eso ya que llamará al mismo error. Continua con

$ bundle exec rake db:reset $ bundle exec rake db:populate $ bundle exec rake test:prepare

e iniciar Rails Server después de eso.


Otra posible respuesta es que tienes un archivo de base de datos abierto. Cierra esos archivos y detiene tu servidor, y debería funcionar.


Para descartar toda la base de datos, simplemente proporcione rake db: setup it drops y nuevamente crea la base de datos por usted.


Sé que es una publicación antigua, pero tuve este problema (los problemas continuados de sqlite3 con Windows), y al reiniciar, cerrar la línea de comandos y detener el servidor no funcionó, logré resolverlo ejecutando cada uno de ellos. de los comandos htanta mencionados anteriormente de manera secuencial: 1. bundle exec rake db: drop 2. bundle exec rake db: create 3. bundle exec rake db: migrate

Si db: reset es solo estos comandos de todos modos, no entiendo por qué no funciona pero los comandos individuales sí lo hacen.