在Laravel中从现有数据库创建存储过程、函数和事件的迁移

8

我正在使用laravel 4.1开发。我有一个由其他工具创建的现成mysql数据库。我已经成功创建了一个迁移,可以在运行时创建数据库中的所有表。

我希望这个迁移也包括存储过程、函数和事件。

我特别想知道如何从现有数据库中为存储过程、事件和函数创建laravel迁移。

2个回答

19

要在迁移中执行原始的 SQL 命令(例如创建存储过程),可以执行以下操作:

public function up() 
{            
    DB::unprepared('CREATE PROCEDURE my_procedure( IN param INT(10) )  BEGIN  /* here your SP code */ END');
}

public function down() 
{
    DB::unprepared('DROP PROCEDURE IF EXISTS my_procedure');
}

我明白了。但是我已经有我的数据库了。我在这里找到了一些要点代码:https://dev59.com/53_aa4cB1Zd3GeqP3XEQ它告诉我如何为已存在的mysql数据库中的所有表生成迁移脚本。但是这段代码没有告诉我如何包含存储过程、函数或事件,而这正是我需要的。 - jai
1
经过一番搜索和咨询,我发现没有办法做到我想要的。我们需要手动创建上面的代码,将存储过程和参数复制/粘贴到上面的代码中。 - jai
1
谢谢,这正是我所需要的。 - Banago

0

DB::raw('DELIMITER $$ CREATE FUNCTION....') 对我来说可行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接