Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 连接后我可以定义DBIx::Class::ResultSource::View吗?_Postgresql_Perl_Sqlite_Dbi_Dbix Class - Fatal编程技术网

Postgresql 连接后我可以定义DBIx::Class::ResultSource::View吗?

Postgresql 连接后我可以定义DBIx::Class::ResultSource::View吗?,postgresql,perl,sqlite,dbi,dbix-class,Postgresql,Perl,Sqlite,Dbi,Dbix Class,我在DBIx::Class中有一个虚拟表,它的定义需要根据部署的不同而有所不同。如果我在sqlite3上部署,我可以使用group\u concat,但是当我在Postgres上部署时,我需要在定义中使用string\u agg,然后在 __PACKAGE__->result_source_instance->view_definition($sql); 是否有方法根据连接进行此操作?您可以从部署中排除视图,根据所连接的数据库,在schema类中添加ddl sql,而不是将其定义为

我在DBIx::Class中有一个虚拟表,它的定义需要根据部署的不同而有所不同。如果我在sqlite3上部署,我可以使用
group\u concat
,但是当我在Postgres上部署时,我需要在定义中使用
string\u agg
,然后在

__PACKAGE__->result_source_instance->view_definition($sql);

是否有方法根据连接进行此操作?

您可以从部署中排除视图,根据所连接的数据库,在schema类中添加ddl sql,而不是将其定义为虚拟视图,在这种情况下,结果类中的sql不用于任何用途。

是否可以添加一个示例::视图,其中包含需要使用的两个不同值?我想我对如何做到这一点有了想法,但我对我的DBIC不够坚定,无法自己设置它。我希望这能有所帮助。SQL在实践中可能不起作用,我可能把它弄得太糟了