首次运行后运行“DBT 快照”时,我收到标题中的错误。该对象确实已经存在,因为它应该存在,因为这不是 DBT 快照的重点。检查源表并更新快照表(如果有更改)以捕获缓慢变化的维度?
我是否在这里遗漏了某些内容并错误地使用了它们,或者是由于 __dbt_tmp 部分而引起的错误,我在数据库中找不到带有该后缀的表?
完全错误:('42S01',“[42S01] [Microsoft][适用于 SQL Server 的 ODBC 驱动程序 18][SQL Server]数据库中已存在一个名为 'table_name__dbt_tmp' 的对象。(2714) (SQLMoreResults)”)
快照命令仍然会创建另一个表,因此是另一个不能命名相同的模型。您的快照的命名应与 dbt 示例中的不同 - https://docs.getdbt.com/docs/build/snapshots#add-a-snapshot-to-your-project。 希望这有帮助
注意:不管 dbt 怎么说,快照对于很多 scd2 情况都不起作用,它们实际上只是捕获快照,而不是完整的历史记录。