Fluentmigrator firebird触发器

时间:2013-12-10 09:58:54

标签: firebird fluent-migrator

有没有办法使用fluentmigrator / firebirdsql创建触发器?

当我尝试这个时

Execute.Sql(@"CREATE TRIGGER TEST_BI FOR 'Test'
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
    IF (NEW.ID IS NULL) THEN
    NEW.ID = GEN_ID(GEN_TEST_ID,1)
END
");
没有任何反应。 我使用SET TERM ^尝试了firebird语法;但是我得到了一个错误。我也试过用脚本调用DDL语句,使用Execute.Script()但仍然没有。

有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:0)

我对Firebird了解不多,但我猜你不能在事务中创建触发器。查看此Wiki页面,了解如何关闭交易:https://github.com/schambers/fluentmigrator/wiki/Transaction-modes-for-the-migration-runner

您需要像这样设置迁移属性:

[Migration(201304210958, TransactionBehavior.None)]