我正在使用sqlite3开发Ruby on Rails 3 Web应用程序。我一直在测试我的应用程序,即时创建和销毁数据库中的内容,有时通过new
和edit
操作,有时通过Rails控制台。
我有兴趣完全清空我的数据库并且只剩下空表。我怎样才能做到这一点?我正在与一个团队合作,所以我对两个答案感兴趣: 1)如何仅由我清空数据库? 2)我怎样(如果可能的话)是其他人(其中一些不使用sqlite3而是MySql)? (我们都在通过SVN存储库开发同一个项目)
答案 0 :(得分:18)
要重置数据库,您可以运行:
rake db:schema:load
这将从schema.rb文件重新创建数据库(由迁移维护)。这将进一步保护您免受以后因代码更改而失败的迁移。
您的开发人员数据库应该与您的环境截然不同 - 如果您需要某些数据,请将其添加到seed.rb文件中。不要共享开发人员数据库,因为您将很快遇到其他更改使您的版本不兼容的情况。
答案 1 :(得分:2)
在这里下载sqlitebrower http://sqlitebrowser.org/
安装,运行它,单击打开数据库(左上角)到locationOfYourRailsApp / db / development.sqlite3
然后切换到浏览数据选项卡,您可以在那里删除或添加数据。
答案 2 :(得分:0)
据我所知,sqlite中没有USER GRANT管理,因此很难控制访问。
您只能通过文件访问来保护数据库。
如果要使用空数据库进行测试。 生成一次并将文件复制到某处。 并在测试之前使用此文件的副本。
答案 3 :(得分:0)
我发现通过从deployment.sqlite3
文件夹中删除db
文件并在命令行中插入命令rake db:migrate
,它解决了我在sqlite3上工作的所有团队的问题。