2014-02-11 26 views
0

使用Rails 3.2和MySQL。我想在我的Rails應用程序中爲MySQL設置一些全局變量,而不是第一次手動執行。我可以把這個schema.rb在Rails上設置全局變量模式

# schema.rb 
ActiveRecord::Base.connection.execute("SET GLOBAL binlog_format = 'MIXED';") 

ActiveRecord::Schema.define(:version => 20140202070057) do 

    create_table "currencies", :force => true do |t| 
    t.string "name" 
    ... 
    end 

    ... 
end 

所以,當我第一次運行db:setup,它設置全局變量。

回答

1

db/schema.rb文件是一個自動生成的文件。而是添加一個遷移腳本或耙子任務。

實施例:

namespace :db do 
    task :set_binlog_format => :environment do 
    ActiveRecord::Base.connection.execute("SET GLOBAL binlog_format = 'MIXED';") 
    end 
    task :setup => :set_binlog_format 
end