我去年4月开始使用Rails2,但今年6月停止了使用,因为我认为在Rails3发布时学习它会更实用,因为它中的很多都是完全重构和重构的。我曾经使用Ubuntu10.04(默认数据库是SQLite3 ),但现在我使用的是Windows7和MySQL 5。我已经安装了MySQL的gem适配器,但要使用它,我还需要调整database.yml。谢谢。
发布于 2010-09-01 21:58:37
在数据库配置方面,除了加载MySQL驱动程序的方式之外,在Rails2和Rails3之间没有太大的变化。这过去是在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
声明行,用于设置要使用的驱动程序。
发布于 2010-11-29 20:11:49
在tadman的回答中,将gem 'mysql2‘用于Rails3,因为Rails3现在使用了新的mysql适配器!!
发布于 2011-02-12 02:21:06
在生成新应用程序时,可以将rails更改为缺省的MySql,但必须编辑rails安装中的一行。每次更新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
编辑:在rails-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
我可以这样做(并且为mysql2 gem配置了database.yml和gem文件):
rails new application_name
这里假设您已经安装了正确的mysql2 gem。而且,我是在Rails3出现后才开始这么做的。这可能与以前的版本类似。同样,每次更新Rails时,都必须查找和编辑该文件。
https://stackoverflow.com/questions/3617570
复制相似问题