开发者

Empty my Sqlite3 database in RoR

I am working on a Ruby on Rails 3 web application using sqlite3. I have been testing my application on-the-fly creating and destroying things in the Database, sometimes through the new and edit actions and sometimes through the Rails console.

I am interested in emptying my Database totally and having only the empty tables left. How can I achieve this? I am working with a team so I am interested in two answers: 1) How do I empty the Database开发者_开发百科 only by me? 2) How can I (if possible empty) it by the others (some of which are not using sqlite3 but MySql)? (we are all working on an the same project through a SVN repository)


To reset your database, you can run:

rake db:schema:load

Which will recreate your database from your schema.rb file (maintained by your migrations). This will additionally protect you from migrations that may later fail due to code changes.

Your dev database should be distinct to your environment - if you need certain data, add it to your seed.rb file. Don't share a dev database, as you'll quickly get into situations where other changes make your version incompatible.


Download sqlitebrower here http://sqlitebrowser.org/

Install it, run it, click open database (top left) to locationOfYourRailsApp/db/development.sqlite3

Then switch to Browse data tab, there you can delete or add data.


I found that by deleting the deployment.sqlite3 file from the db folder and inserting the command rake db:migrate in the command line, it solves the problem for all of my team working on sqlite3.


As far as I know there is no USER GRANT management in sqlite so it is difficult to control access.

You only can protect the database by file access.

If you want to use an empty database for test purpose. Generate it once and copy the file somewhere. and use a copy of this file just before testing.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜