# Ruby and SQLite3

**URL:** <https://www.ruby-forum.com/t/ruby-and-sqlite3/75093>\
**Category:** Ruby\
**Created:** [November 7, 2006, 2:25pm UTC](https://www.ruby-forum.com/t/ruby-and-sqlite3/75093 "2006-11-07T14:25:48Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [November 7, 2006, 2:25pm UTC](https://www.ruby-forum.com/t/ruby-and-sqlite3/75093/1 "2006-11-07T14:25:48Z")

</div>

Hi,

I’m just a beginner in Ruby.  
Have just installed Rails and Gems.  
I am using SQLite3 as the db.

When going thro the “CookBook” tutorial.  
after creating the recipes table in the sqlite3 database.  
and changing the config file - database.yml as

development:  
adapter: sqlite3  
dbfile: db/test.db

test:  
adapter: sqlite3  
dbfile: db/test.db

production:  
adapter: sqlite3  
dbfile: db/test.db

and when trying to scaffold the recipe table from the browser using -  
[http://localhost:3000/recipe/new](http://localhost:3000/recipe/new)

I’m getting the following error

ActiveRecord::StatementInvalid in RecipeController#new

ActiveRecord::StatementInvalid  
RAILS\_ROOT: ./script/…/config/…

Show session dump

* * *

flash: !map:ActionController::Flash::FlashHash {}

Response  
Headers: {“cookie”=\>[], “Cache-Control”=\>“no-cache”}

Could anybody tell me, where i am going wrong??

Thanks in advance.

Raj

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [November 7, 2006, 9:36pm UTC](https://www.ruby-forum.com/t/ruby-and-sqlite3/75093/2 "2006-11-07T21:36:06Z")

</div>

removed\_email\_address@domain.invalid wrote:

> Hi,
> 
> I’m just a beginner in Ruby.  
> Have just installed Rails and Gems.  
> I am using SQLite3 as the db.
> 
> When going thro the “CookBook” tutorial.  
> after creating the recipes table in the sqlite3 database.  
> and changing the config file - database.yml as

…

> 

May be this will help:

[http://code.whytheluckystiff.net/camping/wiki/BeAlertWhenOnSqlite3](http://code.whytheluckystiff.net/camping/wiki/BeAlertWhenOnSqlite3)

Using SQLite with Rails is a little bit tricky. But really just a little  
bit.

Happy Rubying

Stephan

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [November 8, 2006, 7:35am UTC](https://www.ruby-forum.com/t/ruby-and-sqlite3/75093/3 "2006-11-08T07:35:55Z")

</div>

Hi Stephan,

Thanks for ur reply.

Had checked out  
[http://code.whytheluckystiff.net/camping/wiki/BeAlertWhenOnSqlite3](http://code.whytheluckystiff.net/camping/wiki/BeAlertWhenOnSqlite3)  
Even downloaded the latest mswin32.gem  
and have done gem install sqlite-ruby-1.1.0.

I am getting the same error after running the gem once again.

ActiveRecord::StatementInvalid in RecipeController#new

Any idea , what are the other reasons for such an error.

Raj

On Nov 8, 1:34 am, Stephan Kämper [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [November 8, 2006, 9:12pm UTC](https://www.ruby-forum.com/t/ruby-and-sqlite3/75093/4 "2006-11-08T21:12:27Z")

</div>

removed\_email\_address@domain.invalid wrote:

> Hi Stephan,
> 
> Any idea , what are the other reasons for such an error.

Well, know that I’ve read your database.yaml it might also be due to  
some entries there:

> dbfile: db/test.db

First of all the databases for test, development and production should  
never be the same. Really never, or you may and will loose data.

Second of all … in my yaml file it actually says

> test:  
> adapter: sqlite3  
> database: db/something\_test.db3

But then, the documentation I have only states dbfile as you wrote. So  
here maybe I’m plain wrong, although database works, too. I just checked  
it.

Happy rubying

Stephan

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [November 9, 2006, 12:50pm UTC](https://www.ruby-forum.com/t/ruby-and-sqlite3/75093/5 "2006-11-09T12:50:21Z")

</div>

Hi Stephan,

Thanks for ur reply.  
Really have got stuck in this problem for the last 1 week.

Have changed the database name like something\_test.db.  
But stil i am facing the same problem.

Need a clarification.  
What is the need for having Production, Test and development attributes  
in the config file.  
What will happen if i comment the Production and the Development  
attributes in the config file.

Raj

On Nov 9, 1:10 am, Stephan Kämper [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [November 9, 2006, 9:48pm UTC](https://www.ruby-forum.com/t/ruby-and-sqlite3/75093/6 "2006-11-09T21:48:25Z")

</div>

removed\_email\_address@domain.invalid wrote:

> in the config file.  
> Well, if you use the same DB all over, you end up using you production  
> database also for developing and testing. That’s very, very bad, because  
> you will delete important information from your production system sooner  
> or later (I guess it’ll be sooner rather than later).  
> Apart form that there are a lot more good reasons to keep differentd  
> things separate.

> What will happen if i comment the Production and the Development  
> attributes in the config file.

Well, you can’t use these environments any longer. See your favourite  
Rails documentation for further reference.

BTW. you might also try using the rails-mailing-list for Rails stuff.  
The folks over there are a lot more Rails-oriented than here on the Ruby  
list (resp. news group).

Cheers

Stephan
