在RoR中清空我的Sqlite3数据库

时间:2011-01-24 10:56:40

标签: database ruby-on-rails-3 sqlite

我正在使用sqlite3开发Ruby on Rails 3 Web应用程序。我一直在测试我的应用程序,即时创建和销毁数据库中的内容,有时通过newedit操作,有时通过Rails控制台。

我有兴趣完全清空我的数据库并且只剩下空表。我怎样才能做到这一点?我正在与一个团队合作,所以我对两个答案感兴趣: 1)如何仅由我清空数据库? 2)我怎样(如果可能的话)是其他人(其中一些不使用sqlite3而是MySql)? (我们都在通过SVN存储库开发同一个项目)

4 个答案:

答案 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上工作的所有团队的问题。