Perl 如何使用DBIx::Class在PostGIS geometry列上创建GiST索引?
我有一个带有几何列的Postgres+PostGIS数据库 我想为它们添加索引,例如Perl 如何使用DBIx::Class在PostGIS geometry列上创建GiST索引?,perl,postgis,dbix-class,Perl,Postgis,Dbix Class,我有一个带有几何列的Postgres+PostGIS数据库 我想为它们添加索引,例如 create index plot_idx_location on plot using gist (location); 我知道如何使用sqlt_deploy_hook方法在DBIx::Class中创建索引,但我不确定add_index的语法是什么来生成上述语句 阅读SQL::Translator文档()似乎没有任何帮助。没有使用“options”参数的例子,如果仔细看源代码,我怀疑它甚至不受支持 那么有没
create index plot_idx_location on plot using gist (location);
我知道如何使用sqlt_deploy_hook方法在DBIx::Class中创建索引,但我不确定add_index的语法是什么来生成上述语句
阅读SQL::Translator文档()似乎没有任何帮助。没有使用“options”参数的例子,如果仔细看源代码,我怀疑它甚至不受支持
那么有没有办法做到这一点,或者我需要在sqlt_deploy_hook方法中硬编码SQL语句呢?DBIx::Class本身不会生成DDL查询,SQL::Translator会。
您必须自己生成这样的特殊索引,例如在模式类中的after'deploy'方法修饰符中,或者使用deployment_语句方法。是的,您读过我的答案了吗?No sqlt_deploy_hook不是正确的位置,因为上面说:“请注意,sqlt_deploy_hook由“deployment_语句”调用,而“deploy_语句”又在“deploy”之前调用。因此,在将SQL::Translator::Schema对象转换为SQL并提供给数据库之前,钩子只能用于操作该对象。如果要执行SQL::Translator无法生成的部署后语句,当前建议的方法是重载“deploy”并使用dbh_do