I am a newbie and just started to learn Ruby on Rails. I have installed both Ruby, Rails, and MySQL server on my Windows XP system. Whenever I run a Rails application, it always gives me an error stating " MissingSourceFile in SayController#index, no such file to load -- sqlite3" and "This error occurred while loading the following files: sqlite3". I don't want to use sqlite3 database. What I want is to use MySQL database by default. How do I make it to connect MySQL database by default instead of looking for sqlite3?
on 21.01.2008 17:26
on 21.01.2008 19:10
On Jan 21, 2008 11:26 AM, Chilung Tan <rails-mailing-list@andreas-s.net> wrote: > > I am a newbie and just started to learn Ruby on Rails. I have installed > both Ruby, Rails, and MySQL server on my Windows XP system. Whenever I > run a Rails application, it always gives me an error stating " > MissingSourceFile in SayController#index, no such file to load -- > sqlite3" and "This error occurred while loading the following files: > sqlite3". I don't want to use sqlite3 database. What I want is to use > MySQL database by default. How do I make it to connect MySQL database by > default instead of looking for sqlite3? The key is in the config/database.yml file. The default file should look something like this: # SQLite version 3.x # gem install sqlite3-ruby (not necessary on OS X Leopard) development: adapter: sqlite3 database: db/development.sqlite3 timeout: 5000 # Warning: The database defined as 'test' will be erased and # re-generated from your development database when you run 'rake'. # Do not set this db to the same as development or production. test: adapter: sqlite3 database: db/test.sqlite3 timeout: 5000 production: adapter: sqlite3 database: db/production.sqlite3 timeout: 5000 This gives the database configuration for each of the three environments development, test and production. For MySql you want something like development: adapter: mysql encoding: utf8 database: temp_development username: root password: socket: /tmp/mysql.sock # Warning: The database defined as 'test' will be erased and # re-generated from your development database when you run 'rake'. # Do not set this db to the same as development or production. test: adapter: mysql encoding: utf8 database: temp_test username: root password: socket: /tmp/mysql.sock production: adapter: mysql encoding: utf8 database: temp_production username: root password: socket: /tmp/mysql.sock This is for an OSX system, some of the details like socket: might be different on Windows. For a new Rails project you can override the default by using the -d mysql option on the rails command. The way I got the above database.yml file was by entering $rails -d mysql temp and then copying the text from temp/config/database.yml If you are using an IDE or other means to generate the Rails app on Windows rather than the command line, you'll have to find someone with more Rails on Windows experience than I have to help. -- Rick DeNatale My blog on Ruby http://talklikeaduck.denhaven2.com/
on 21.01.2008 20:34
On Jan 21, 2008 8:26 AM, Chilung Tan <rails-mailing-list@andreas-s.net> wrote: > sqlite3". I don't want to use sqlite3 database. What I want is to use > MySQL database by default. How do I make it to connect MySQL database by > default instead of looking for sqlite3? Edit `#{RAILS_ROOT}/config/database.yml` appropriately HTH! -- Hassan Schroeder ------------------------ hassan.schroeder@gmail.com
on 21.01.2008 22:41
Rick Denatale wrote: > > For a new Rails project you can override the default by using the -d > mysql option on the rails command. The way I got the above > database.yml file was by entering > > $rails -d mysql temp > > and then copying the text from temp/config/database.yml Thanks Rick for your detailed guidance. I did follow the steps you indicated. I used command "rake db:migrate" to create a schema.rb file under db directory successfully without any error. Inside config/database.yml file I set QUOTE development: adapter: mysql encoding: utf8 database: music_library_development username: root password: xxxx host: localhost UNQUOTE I created an album.rb file under under models directory by using the command "ruby script/generate model Album". I created an admin_controller.rb file under controllers directory by using the command "ruby script/generate controller Admin". Inside the admin_controller.rb file, I only added a line of "scaffold :album" and saved the file. I started the server by "ruby script/server" command. But when I went the Firefox browser and entered http://localhost:3000/admin, it gave me "500 Internal Server Error". What did I miss in these steps for my Windows XP system?
on 21.01.2008 23:34
The scaffold method has been deprecated in Rails 2.0. On Jan 22, 2008 8:11 AM, Chilung Tan <rails-mailing-list@andreas-s.net> wrote: > > development: > I created an admin_controller.rb file under controllers directory by > > > > -- Ryan Bigg http://www.frozenplague.net Feel free to add me to MSN and/or GTalk as this email.
on 27.01.2008 18:38
On Jan 21, 8:33 pm, "Hassan Schroeder" <hassan.schroe...@gmail.com>
wrote:
> Hassan Schroeder ------------------------ hassan.schroe...@gmail.com
Isnt this actually a little error in Rails?
I run Rails v 2.0.2.
When I type
rails --help
it says that mysql is the default for --database
but still the database.yml will be setup for sqlite when creating a
new application.
Doesnt seem right to me?
/ grz01
on 27.01.2008 19:08
It was changed for 2.0.2 You must specify that you want to use mysql: rails myApp -d mysql
on 27.01.2008 19:19
SQLite was made the default in 2.0. They must have just missed the change in the documentation. Peace, Phillip
on 27.01.2008 19:29
yes - and they forgot to update the helptext then? (rails --help) /grz01 On Jan 27, 7:08 pm, Jimmy Palmer <rails-mailing-l...@andreas-s.net>
on 28.01.2008 02:15
On 1/27/08, Phillip Koebbe <phillipkoebbe@gmail.com> wrote: > > SQLite was made the default in 2.0. They must have just missed the > change in the documentation. The default actually changed in 2.0.2 http://weblog.rubyonrails.org/2007/12/17/rails-2-0-2-some-new-defaults-and-a-few-fixes -- Rick DeNatale My blog on Ruby http://talklikeaduck.denhaven2.com/
on 28.01.2008 02:16
I had intended on typing 2.0.x. I guess I'm not perfect either. Peace, Phillip
on 23.06.2008 16:35
Rick Denatale wrote: > > The key is in the config/database.yml file. > ........ > The default file should look something like this: > # SQLite version 3.x ... > This gives the database configuration for each of the three > environments development, test and production. > > For MySql you want something like ... > > This is for an OSX system, some of the details like socket: might be > different on Windows. > > For a new Rails project you can override the default by using the -d > mysql option on the rails command. The way I got the above > database.yml file was by entering > > $rails -d mysql temp > that was fine, i got the problem in a snap, and even if i'm a newbie i'm appreciating so much ruby, and most of all ruby-people like you! :-) i never find such a friendly and effective community! really! Chilung Tan wrote: ... > I did follow the steps you indicated. > so did i, and worked smoothly, on linux ubuntu! thank a lot!! <i>the nth</i>