没有权限在Windows上删除SQLite3开发数据库Rails 5.0

时间:2016-08-09 14:31:48

标签: ruby-on-rails windows sqlite

我正在尝试在Windows上为我的Rails 5.0项目重置我的开发数据库,​​但是当我运行时(与rake db:drop相同)

rails db:drop

我收到以下错误:

  

Errno :: EACCES权限被拒绝@ unlink_internal

我已经重新启动了我的电脑,以确保无论如何都没有运行导轨

4 个答案:

答案 0 :(得分:2)

您只需要退出Rails服务器。

答案 1 :(得分:0)

这可以提供帮助

当我需要删除数据库时,我使用{{1}}。 请试一试。

希望它有所帮助。

答案 2 :(得分:0)

尝试在Windows上使用Rails 5.1.6重置我的sqlite3数据库时遇到了同样的错误,同时完成了了解足够危险的 Rails教程。我在另一篇文章中找到了以下答案,并且对我有用:

  

“对于删除整个数据库,只需给rake db:setup删除,然后再次为您创建数据库。”

运行命令时,我得到:

$ rails db:setup
Database 'db/development.sqlite3' already exists
Database 'db/test.sqlite3' already exists
-- create_table("users", {:force=>:cascade})
   -> 0.0497s
-- create_table("users", {:force=>:cascade})
   -> 0.0624s

我的数据库似乎可以正常工作,但是没有数据。

答案 3 :(得分:0)

找到解决方案:

在Windows计算机中,您必须指定这是不安全的举动,所以我

rake db:reset

这是针对Windows计算机的,如果您使用的是Linux,则可以这样做

function getPropertiesData(arr) {
  const o = { 'x': 1, 'y': 2, 'z': 3 }
  return Object.assign({}, ...arr.map(a => ({[a]: o[a]})));
}

console.log(getPropertiesData(['x', 'y']))