Skip to content

Cum să rulezi operații cu comanda dbt run-operation

DodaTech Updated 2025-01-15 1 min read

In this tutorial, you'll learn about Cum să rulezi operații cu comanda dbt run. We cover key concepts, practical examples, and best practices.

Comanda dbt run-operation execută un macro direct, fără a compila și rula un model. Este utilă pentru operații administrative, granturi, curățenie și migrări. Acest ghid explică utilizarea corectă.

Step-by-Step Fix

1. Definește un macro executabil

-- macros/admin_helpers.sql
{% macro clean_old_records(schema, table, days) %}
    DELETE FROM {{ schema }}.{{ table }}
    WHERE created_at < DATEADD(day, -{{ days }}, CURRENT_TIMESTAMP)
{% endmacro %}

2. Rulează macro-ul cu run-operation

dbt run-operation clean_old_records --args "{schema: public, table: logs, days: 30}"

Output așteptat:

15:23:45  Running macro: clean_old_records
15:23:46  Completed successfully

3. Rulează operația în modul dry-run

dbt run-operation clean_old_records --args "{schema: public, table: logs, days: 30}" --log-level debug 2>&1 | grep -i "sql"

4. Verifică macro-urile disponibile pentru run-operation

dbt list --resource-type macro --output name | sort

Output așteptat:

clean_old_records
generate_schema_name
grant_select

Common Mistakes

Greșeală Soluție
Macro-ul nu este executabil Asigură-te că macro-ul conține SQL care poate fi rulat direct
Lipsesc argumentele obligatorii Verifică definiția macro-ului și furnizează toate argumentele
Format JSON incorect la --args Folosește ghilimele duble în JSON: {"key": "value"}

Prevention Tips

  • Testează macro-urile în medii de develop înainte de producție
  • Folosește --log-level debug pentru depanare
  • Rulează în tranzacții explicite pentru operații critice
  • Documentează efectele fiecărei operații

DodaTech Tools

Doda Browser oferă o interfață grafică pentru run-operation. DodaZIP arhivează comenzile executate pentru audit. Durga Antivirus Pro blochează operațiile periculoase (DROP, TRUNCATE) neautorizate.

FAQ

### Care este diferența dintre run-operation și un model?

Un model produce un tabel în baza de date. run-operation execută SQL arbitrar fără a crea un tabel.

### Pot rula run-operation în producție?

Da, dar se recomandă testarea în prealabil și documentarea operației.

### Ce tipuri de macro-uri pot rula cu run-operation?

Orice macro care produce SQL valid poate fi executat cu run-operation.

Construit de dezvoltatorii Doda Browser, DodaZIP și Durga Antivirus Pro. Instrumentele DodaTech se integrează nativ cu dbt pentru productivitate și securitate sporite.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro