我正在尝试创建这个rails迁移
class CreateFormats < ActiveRecord::Migration
def self.up
create_table (:formats , :options => 'ENGINE=InnoDB DEFAULT CHARSET=utf8' ) do |t|
t.name
t.description
t.company
t.timestamps
end
end
def self.down
drop_table :formats
end
end
在执行过程中,我会遇到如下错误:
语法错误,意外的",",应为")"create_table(:formats,:options=>'ENGINE=InnoDB D。。。^语法错误,意外的")",应为关键字_end…=InnoDB DEFAULT CHARSET=utf8')执行|t|…^
语法错误,意外的关键字_end,应为$end
知道为什么会发生这种事吗?我找不到任何语法问题。。很可能是因为我刚接触Rails:)
您的语法不正确:
create_table (:formats , :options => 'ENGINE=InnoDB DEFAULT CHARSET=utf8' ) do |t|
应该是
create_table(:formats , :options => 'ENGINE=InnoDB DEFAULT CHARSET=utf8' ) do |t|
即:没有空间。否则,您只需将:formats
与:options => ...
分组作为函数的第一个参数。
您可能还需要更改
t.name
t.description
t.company
类似
t.string :name
t.string :description
t.string :company