在Doctrine 1.2中用户定义的例程?
|
我必须为我的MySQL数据库编写一个用户定义的例程(计算距离函数)。
是否可以在yaml模式文件中定义它?
在终端mysql-client中定义例程后,一切正常,直到\ doctrine build-all-reload \'-函数被删除,这是可以理解的;
如何附加每次运行\'build-all-reload \'都会执行的sql脚本?
对不起我的英语不好。
汤姆
没有找到相关结果
已邀请:
2 个回复
恋裂
现在,每次执行./doctrine build-all-reload时,都会执行以下脚本:
这个解决方案可能并不优雅,但对我有用:) 我不打算从MySQL更改数据库。 之后,我可以在“ Doctrine查询”中使用DIST函数,并且它的工作速度比使用标准内置函数的实现快几倍,并且要短得多。
代替
谢谢你的帮助。
拈吉勉犬姆
...是您可以影响表创建的地方。您可以通过以下方式在yaml文件中附加此行为:
在\“ ... \”部分中可能有一种精巧的方法来执行所需的操作,但是在对源代码进行一些检查之后,我不确定,因此,因为该操作仅在代码中执行一次在您的应用程序的生命周期内,我个人将在Doctrine之外进行所有操作: 连接到MySQL 发送SQL创建函数 断开 附言另一种方法是将PHP中的距离计算函数编写为一种原则行为(扩展Doctrine_Record_Listener);作为奖励,您可以获得数据库的可移植性。但是它将代码与Doctrine联系在一起,因此其他应用程序无法像使用mysql例程那样使用该函数。