Ruby and SQLite3

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

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

[email protected] 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

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

Happy Rubying

Stephan

Hi Stephan,

Thanks for ur reply.

Had checked out
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 [email protected]

[email protected] 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

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 [email protected]

[email protected] 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