Nachshon Schwartz
Nachshon Schwartz

Reputation: 15775

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)

Upvotes: 8

Views: 5971

Answers (4)

Marko
Marko

Reputation: 957

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.

Upvotes: 2

Codebeef
Codebeef

Reputation: 44016

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.

Upvotes: 19

Nachshon Schwartz
Nachshon Schwartz

Reputation: 15775

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.

Upvotes: 2

VGE
VGE

Reputation: 4191

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.

Upvotes: 0

Related Questions