我正在使用FluentMigrator,与它的基础实体框架相比,它似乎有一些限制。我试图通过运行Execute.Sql创建存储过程,并将我的sproc脚本作为字符串嵌入其中。
这会带来一些错误。最值得注意的是我的存储过程中有用户定义的变量。例如,这是我的存储过程的内容,也是运行迁移时遇到的错误: ...
SELECT @datacenter_id :=id FROM datacenter WHERE name = datacenter;
INSERT IGNORE INTO environment(name) VALUES(environment);
SELECT @environment_id :=id FROM environment WHERE name = environment;
INSERT IGNORE INTO domain(name) VALUES(domain);
...
/ * !!!必须定义参数“ @datacenter_id”。 * /
我尝试将脚本放入.sql文件并调用Execute.Script,以达到相同的错误。我能够创建没有这样的变量的存储过程,但这是我遇到的唯一障碍。有什么想法吗?