gpt4 book ai didi

mysql - DBIC 模式加载器 : how to skip columns

转载 作者:行者123 更新时间:2023-11-29 00:26:44 25 4
gpt4 key购买 nike

我有一个 MySQL 数据库,其中包含多个表和这些表的 View 。 View 将可以看到的内容限制为单个客户的数据(create view ... where customer_id = X)。 Catalyst 应用程序将与这些 View 对话,而不是与实际的表格对话。 View 的列和基础表的列之间的唯一区别是 View 缺少 customer_id 列(即,对于应用程序来说,当前客户似乎是系统中唯一的客户)。

问题是,我无法使用 DBIC Schema Loader 从 View 中加载模式,因为它们缺少所有关系和键。我必须从基表加载架构,然后在 View 上使用它。问题是,我无法摆脱 customer_id 列。我需要摆脱它,因为它不存在于应用程序将要与之交谈的 View 中。

我最终使用 filter_generated_code 选项从生成的代码中去除不需要的位,但在生成过程中出现以下错误:

DBIx::Class::Schema::Loader::make_schema_at(): No such column customer_id
at /opt/merp/perl/lib/perl5/Catalyst/Helper/Model/DBIC/Schema.pm line 635

如何让加载程序在加载时跳过某些列?

最佳答案

我不确定如何让加载程序在加载时跳过列,但您可以在加载后删除它们。例如,您可以向任何需要删除列的类添加类似这样的内容:

__PACKAGE__->remove_column('customer_id');

关于mysql - DBIC 模式加载器 : how to skip columns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18563891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com