【发布时间】:2015-04-03 05:19:28
【问题描述】:
所以不久前我正在使用触发器,并在我的一个表中添加了一些用于插入和更新事件,因此它们转到了我的 schema.rb 但后来我找到了一种不使用触发器的方法并将它们从dabatase 控制台,但他们的 sql 代码显然没有从架构文件中删除,所以现在我有类似的内容:
execute(<<-TRIGGERSQL)
CREATE OR REPLACE FUNCTION public.arguments_vector_update()
RETURNS trigger
LANGUAGE plpgsql
AS $function$
BEGIN
IF TG_OP = 'INSERT' THEN
new.tsv_body = to_tsvector('pg_catalog.simple', COALESCE(NEW.text, ''));
END IF;
IF TG_OP = 'UPDATE' THEN
IF NEW.text <> OLD.text THEN
new.tsv_body = to_tsvector('pg_catalog.simple', COALESCE(NEW.text, ''));
END IF;
END IF;
RETURN NEW;
END
$function$
TRIGGERSQL
我想我也删除了迁移文件-_-
我可能会添加一个新的迁移代码来删除触发器,但这会使架构文件更加混乱,所以我想知道是否有另一种方法可以从架构文件中删除这段代码?
如果重要的话,我正在使用 PSQL。
【问题讨论】:
-
这个命令一切都很好,除了我不知道它哈哈非常感谢你。您可以将其发布为答案,我会接受它
标签: sql ruby-on-rails database postgresql rails-migrations