der*_*use 2 rake ruby-on-rails ruby-on-rails-3
我试图在mysql集群上设置rails 3应用程序.我注意到每当我使用rake db:create或rake db:migrate创建表时,都会使用engine = InnoDb创建表.由于我使用的是MySQL集群,因此存在问题.我必须使用engine = NDB创建表.我想知道什么是修改rake db的最佳方法:create和rake db:migrate逻辑,以便它创建带有engine = NDB的表.
谢谢/
对于现有表,您应该创建一个迁移到alter table,在其中需要执行alter table命令:
class Change < ActiveRecord::Migration
def self.up
execute('ALTER TABLE some_tables ENGINE = NDB')
end
def self.down
execute('ALTER TABLE some_tables ENGINE = innodb')
end
end
Run Code Online (Sandbox Code Playgroud)
但是对于新架构,您可以在create_table方法上使用:options选项:
create_table :some_tables, :option => 'ENGINE = NDB' do |t|
...
end
Run Code Online (Sandbox Code Playgroud)
http://guides.rubyonrails.org/v3.0.3/migrations.html#creating-a-table
| 归档时间: |
|
| 查看次数: |
410 次 |
| 最近记录: |