去年4月我開始使用Rails 2,但是今年6月停止了,因爲我認爲在Rails 3發佈時學習它會更實用,因爲它的很多都是完全重構和重構的。我曾經使用Ubuntu 10.04(SQLite3作爲默認數據庫),但現在我使用的是Windows 7和MySQL 5.我已經安裝了MySQL的gem適配器,但要使用它,我仍然需要調整database.yml。謝謝。如何將MySQL設置爲Rails 3中的默認數據庫?
回答
就數據庫配置而言,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
報關行。
在tadman的回答中,使用gem'mysql2'作爲rails 3,因爲rails 3現在使用了新的mysql適配器!
此外,在database.yml'適配器:mysql' - >'適配器:mysql2' – 2014-06-13 18:02:12
當您生成新的應用程序時,您可以將導軌更改爲默認的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時,都必須找到並編輯該文件。
我使用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
由於Rails的3.2,你可以定義自定義命令行選項的.railsrc文件,將始終適用於rails new
因此,如果您創建一個名爲.railsrc
,並把它放在你的home目錄W /喜歡的內容這-d mysql
它將使MySQL成爲您的默認數據庫。你可以把任何命令行選項放在那裏(包括application templates這是超棒的!)
從命令行運行rails new --help
以查看所有選項。
- 1. 如何將pgsql設置爲laravel的默認數據庫
- 2. 如何在Rails中設置默認數據庫?
- 3. 如何設置精簡爲默認的Rails 3
- 4. 通過PostgreSQL將默認值設置爲數據庫中的列
- 5. 用php爲MySQL數據庫設置用戶的默認圖像
- 6. 如何將OrientDB配置爲Moqui中的默認數據庫?
- 7. 設置默認列從Rails中的數據庫拉
- 8. 在Sqlite數據庫中將默認圖像設置爲列
- 9. 在oracledb中設置默認數據庫
- 10. Rails 3 inherited_resources忽略'默認'設置
- 11. CPanel/MySql ENUM將默認設置爲''?
- 12. Mysql設置爲默認?
- 13. MySQL的默認數據庫
- 14. 如何將[ScaffoldColumn(false)]設置爲動態數據的默認值?
- 15. 如何爲Windows Authenticated用戶設置默認數據庫?
- 16. 設置默認的數據庫連接的Rails
- 17. 如何在MySql中將默認值設置爲sysdate?
- 18. 將默認顏色設置爲Android庫
- 19. 將默認值設置爲Mysql中的數字列
- 20. 更改爲Rails的默認數據庫到MySQL
- 21. 如何在數據庫中設置sqldatasource默認值在c#中?
- 22. 如何將form2設置爲默認值?
- 23. 如何將'global'設置爲默認gemset?
- 24. 如何將https設置爲默認值?
- 25. 如何使用liquibase將列數據庫的默認值設置爲0?
- 26. 如何將mysql列的默認值設置爲unix_timestamp?
- 27. 如何將計算的時間戳設置爲默認值MySQL
- 28. 設置數據庫的默認值,如果值爲空
- 29. Heroku和默認數據庫設置
- 30. 設置默認值 - 回填數據庫
有沒有辦法讓MySQL的默認,而不是sqlite? – 2010-09-01 14:25:31
對於新項目?不容易。這是Rails的核心功能。通常情況下,人們會根據需要爲新應用程序準備一個「框架」項目,其中包含數據庫驅動程序,插件和寶石,然後將它們複製到新項目中。這樣,無論多麼奇特,你都可以擁有任何你喜歡的默認設置。 – tadman 2010-09-01 15:00:54
謝謝。所以我不能把它作爲新項目的默認值。 – arscariosus 2010-09-01 15:31:52