2010-09-01 76 views
13

去年4月我開始使用Rails 2,但是今年6月停止了,因爲我認爲在Rails 3發佈時學習它會更實用,因爲它的很多都是完全重構和重構的。我曾經使用Ubuntu 10.04(SQLite3作爲默認數據庫),但現在我使用的是Windows 7和MySQL 5.我已經安裝了MySQL的gem適配器,但要使用它,我仍然需要調整database.yml。謝謝。如何將MySQL設置爲Rails 3中的默認數據庫?

回答

25

就數據庫配置而言,Rails 2和3之間沒有太大的變化,除了加載MySQL驅動程序的方式。這用於config/environment.rb做,但現在在做Gemfile

gem 'mysql' 

默認config/database.yml文件設置時使用SQLite,但你可以很容易地改變這種過度是MySQL的。一個通用版本是這樣的:

defaults: &defaults 
    adapter: mysql 
    username: localdev 
    password: mylocaldevpasswordwhateveritis 
    host: localhost 

development: 
    <<: *defaults 
    database: project_dev 

test: 
    <<: *defaults 
    database: project_test 

就這麼設置要使用什麼驅動程序adapter報關行。

+0

有沒有辦法讓MySQL的默認,而不是sqlite? – 2010-09-01 14:25:31

+0

對於新項目?不容易。這是Rails的核心功能。通常情況下,人們會根據需要爲新應用程序準備一個「框架」項目,其中包含數據庫驅動程序,插件和寶石,然後將它們複製到新項目中。這樣,無論多麼奇特,你都可以擁有任何你喜歡的默認設置。 – tadman 2010-09-01 15:00:54

+0

謝謝。所以我不能把它作爲新項目的默認值。 – arscariosus 2010-09-01 15:31:52

7

在tadman的回答中,使用gem'mysql2'作爲rails 3,因爲rails 3現在使用了新的mysql適配器!

+0

此外,在database.yml'適配器:mysql' - >'適配器:mysql2' – 2014-06-13 18:02:12

3

當您生成新的應用程序時,您可以將導軌更改爲默認的MySql,但您必須在導軌安裝中編輯一行。您必須對每個版本進行更改,並且每次更新rails gem。

我使用Ruby-Enterprise。因此,這裏是我做的:

在文件(其中1.8是Ruby版本和3.0.4是Rails版本):

/opt/ruby-enterprise/lib/ruby/gems/1.8/gems/railties-3.0.4/lib/rails/generators/rails/app/app_generator.rb 

編輯:在軌-3.1.0-RC1的文件是:

gems/railties-3.1.0.rc1/lib/rails/generators/app_base.rb 

搜索這一行:

class_option :database, :type => :string, :aliases => "-d", :default => "sqlite3", 

更改 「sqlite3的」 到 「mysql的」。

class_option :database, :type => :string, :aliases => "-d", :default => "mysql", 

所以不是這樣做的:

rails new application_name -d mysql 

我可以做(和database.yml中和Gemfiles被配置爲mysql2寶石):

rails new application_name 

這裏假設你有已經安裝了正確的mysql2 gem。另外,自Rails 3問世以來,我一直這樣做。它可能與以前的版本類似。同樣,每次更新Rails時,都必須找到並編輯該文件。

+1

我使用RVM與Ruby 1.9.2和Rails 3,並找到我的文件的路徑:$(rvm gemdir )/gems/railties-3.0.5/lib/rails/generators/rails/app/app_generator.rb。導師完美地工作。 – gunit888 2011-03-30 14:49:40

0

由於Rails的3.2,你可以定義自定義命令行選項的.railsrc文件,將始終適用於rails new

因此,如果您創建一個名爲.railsrc,並把它放在你的home目錄W /喜歡的內容這-d mysql它將使MySQL成爲您的默認數據庫。你可以把任何命令行選項放在那裏(包括application templates這是超棒的!)

從命令行運行rails new --help以查看所有選項。

相關問題