我正在尝试在迁移中设置触发器并具有以下内容:
class AddUpdateTrigger < ActiveRecord::Migration
def change
execute <<-SQL
CREATE TRIGGER tsvectorupdate BEFORE INSERT OR UPDATE
ON queryables FOR EACH ROW EXECUTE PROCEDURE
tsvector_update_trigger(
search_data, 'pg_catalog.english', val
);
SQL
end
end
当我运行rake db:migrate
时,我收到以下错误:
rake aborted!
SyntaxError: /Users/jt/repos/blue/db/migrate/20151215052427_add_update_trigger.rb:15:
can't find string "SQL" anywhere before EOF
但我不确定为什么。我究竟做错了什么?
答案 0 :(得分:4)
在预定的结束"SQL"
之后,您有额外的空格字符。它实际上是"SQL "
,因此它与开头"SQL"
不匹配。