diff --git a/dbt/macros/helpers/create_raw_tables.sql b/dbt/macros/helpers/create_raw_tables.sql new file mode 100644 index 0000000..067ac20 --- /dev/null +++ b/dbt/macros/helpers/create_raw_tables.sql @@ -0,0 +1,27 @@ +{% macro create_raw_tables() -%} + +{% set query %} + SELECT raw_taulu from {{ ref('raw_taulut') }} +{% endset %} + +{% set tables = run_query(query) %} + +{%set tables_list = tables.columns[0].values() %} + +{% if execute %} + {% for table in tables_list %} + {% set create_statement = 'create table if not exists raw.' + table +' ( + "data" json NULL, + dw_metadata_source_timestamp_at timestamptz NULL, + dw_metadata_dbt_copied_at timestamptz NULL, + dw_metadata_filename varchar NULL, + dw_metadata_file_row_number int4 NULL + ); + CREATE INDEX if not exists ix_'+ table + ' ON raw.' + table+ ' USING btree (dw_metadata_dbt_copied_at);' +%} + {{ print ( create_statement )}} + {% do run_query(create_statement) %} + {% endfor %} + +{% endif %} +{%- endmacro %} \ No newline at end of file diff --git a/dbt/seeds/_seeds.yml b/dbt/seeds/_seeds.yml new file mode 100644 index 0000000..92af72a --- /dev/null +++ b/dbt/seeds/_seeds.yml @@ -0,0 +1,11 @@ +version: 2 + +seeds: + - name: raw_taulut + config: + schema: raw + description: | + Tässä tiedostossa on lista kaikista raw-taulusta joita järjestelmässä on. Lisätääksesi uuden raw-taulun + 1) Lisää taulun nimi seeds/raw_taulut.csv-tiedostoon omalle riville + 2) aja # dbt seed --target=prod + 3) aja # dbt run-operation create_raw_tables --target=prod diff --git a/dbt/seeds/raw_taulut.csv b/dbt/seeds/raw_taulut.csv new file mode 100644 index 0000000..1a0a60c --- /dev/null +++ b/dbt/seeds/raw_taulut.csv @@ -0,0 +1,41 @@ +raw_taulu +ataru_hakemus +ataru_lomake +hakukohderyhmapalvelu_ryhma +koodisto_koodi +koodisto_relaatio +kouta_ammattinimike +kouta_asiasana +kouta_haku +kouta_hakukohde +kouta_koulutus +kouta_oppilaitoksetjaosat +kouta_pistehistoria +kouta_sorakuvaus +kouta_toteutus +kouta_valintaperuste +ohjausparametrit_parameter +onr_henkilo +onr_yhteystieto +organisaatio_organisaatio +organisaatio_organisaatiosuhde +organisaatio_osoite +organisaatio_ryhma +sure_arvosana +sure_ensikertalainen +sure_harkinnanvaraisuus +sure_opiskelija +sure_opiskeluoikeus +sure_proxysuoritus +sure_suoritus +valintalaskenta_valintakoe_osallistuminen +valintalaskenta_valintalaskennan_tulos +valintaperusteet_hakukohde +valintapiste_service_pistetieto +valintarekisteri_hyvaksyttyjulkaistuhakutoive +valintarekisteri_ilmoittautuminen +valintarekisteri_jonosija +valintarekisteri_lukuvuosimaksu +valintarekisteri_valinnantulos +valintarekisteri_valintatapajono +valintarekisteri_vastaanotto \ No newline at end of file