# How to get rails command to default to MySQL instead of SQLite?

**URL:** <https://www.ruby-forum.com/t/how-to-get-rails-command-to-default-to-mysql-instead-of-sqlite/119223>\
**Category:** Rails\
**Created:** [November 5, 2007, 5:07am UTC](https://www.ruby-forum.com/t/how-to-get-rails-command-to-default-to-mysql-instead-of-sqlite/119223 "2007-11-05T05:07:08Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![miravol](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/6f9a4e/32.png) [@miravol](https://www.ruby-forum.com/u/miravol)\
**Post date:** [November 5, 2007, 5:07am UTC](https://www.ruby-forum.com/t/how-to-get-rails-command-to-default-to-mysql-instead-of-sqlite/119223/1 "2007-11-05T05:07:08Z")

</div>

I’m running OS/X 10.5 Leopard. Although I have MySQL installed the  
rails command creates a database.yml file that defaults to SQLite. How  
do I get it to default to MySQL instead?

TIA

---

<div class="post-metadata">

**Author:** ![miravol](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/6f9a4e/32.png) [@miravol](https://www.ruby-forum.com/u/miravol)\
**Post date:** [November 5, 2007, 5:28am UTC](https://www.ruby-forum.com/t/how-to-get-rails-command-to-default-to-mysql-instead-of-sqlite/119223/2 "2007-11-05T05:28:10Z")

</div>

Hmmm.

The Rails default is actually mysql. I haven’t looked at what they  
changed  
in 10.5 as I am still running my own build of Ruby and Rails.

You can force the db type though.

rails my\_new\_app --database=mysql

---

<div class="post-metadata">

**Author:** ![miravol](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/6f9a4e/32.png) [@miravol](https://www.ruby-forum.com/u/miravol)\
**Post date:** [November 5, 2007, 5:35am UTC](https://www.ruby-forum.com/t/how-to-get-rails-command-to-default-to-mysql-instead-of-sqlite/119223/3 "2007-11-05T05:35:45Z")

</div>

Hmm, sure enough:

#the pre-installed rails:  
macbookpro: wpratt$ /usr/bin/rails  
… snip …  
-d, --database=name Preconfigure for selected database  
(options: mysql/oracle/postgresql/sqlite2/sqlite3).  
Default: sqlite3

#and from my own stack:

macbookpro: wpratt$ /usr/local/bin/rails  
… snip …  
-d, --database=name Preconfigure for selected database  
(options: mysql/oracle/postgresql/sqlite2/sqlite3).  
Default: mysql

I guess this makes sense since Leopard doesn’t ship with mysql but  
does ship with sqlite3.

-Bill

---

<div class="post-metadata">

**Author:** ![miravol](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/6f9a4e/32.png) [@miravol](https://www.ruby-forum.com/u/miravol)\
**Post date:** [November 5, 2007, 8:49am UTC](https://www.ruby-forum.com/t/how-to-get-rails-command-to-default-to-mysql-instead-of-sqlite/119223/4 "2007-11-05T08:49:47Z")

</div>

On Nov 5, 5:06 am, “removed\_email\_address@domain.invalid” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I’m running OS/X 10.5 Leopard. Although I have MySQL installed the  
> rails command creates a database.yml file that defaults to SQLite. How  
> do I get it to default to MySQL instead?
> 
> TIA

The quick&dirty way is to edit

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/  
gems/1.8/gems/rails-1.2.3/lib/rails\_generator/generators/applications/  
app/app\_generator.rb

on lines 9 and 104 (replace sqlite3 with mysql)

Or you could install rails version 1.2.5; which defaults again to  
mysql.  
Rails 1.2.5 is then installed in /Library/Ruby/Gems/1.8/gems/  
rails-1.2.5/

Personally I like sqlite3 as the default and would like to know how to  
tell gem to use this as the default. Setting the shell variable  
RAILS\_DEFAULT\_DATABASE doesn’t seem to work.
