在数据资源管理器中应对已弃用的列

一个不常见但令人烦恼的问题是,当核心或插件中删除或重命名列时,Data Explorer 查询可能会开始出错。下游影响可能导致自动化流程开始失败。

为此,我已在此处提交了一个 PR,它将在 Data Explorer 模式浏览器中将列标记为已弃用(哈哈):

这只能提供些许安慰,主要有助于创建新查询,但如果不将 SQL 解析器作为依赖项引入核心,这可能是我们能做的极限。

不过,我希望能进一步扩展此功能,包括:

  1. 对使用已弃用列的查询显示警告,以及
  2. 添加一项问题检查,以便在仪表板的管理员通知部分揭示这些问题。

第二项将是终极方案,可在管理员升级前给予提醒,避免措手不及。

@sam,您是否同意引入一个 gem 来进行 SQL 解析以支持此功能?该 gem 可以仅在加载 Data Explorer 时通过 require 引入。

4 个赞

嗨 Ted :hugs:

老实说,我不确定,这取决于具体情况。好消息是,Nat 和 @tgxworld 目前正在查看 Data Explorer,他们应该能提供指导。

3 个赞

我大体上认同这个想法,但我觉得并非所有人都会严格地弃用列,而这正是该功能发挥作用的前提。我不太确定,但我们能否根据列是否在数据库中被标记为只读来判断该列是否被视为已弃用?在我看来,这是一个更为可靠的信号,能够表明该列是否即将被弃用。

2 个赞

我理解您是指在模型中使用 ignored_columns 吗?我们确实可以(而且应该)将其包含在内。

我已在以下提交中添加了该功能: