Skip to content

aurany/dbt-ibmdb2

Repository files navigation

pypi python

dbt-ibmdb2

This plugin ports dbt functionality to IBM DB2.

This is an experimental plugin:

  • We have not tested it extensively
  • Only basic tests are implemented
  • Compatibility with other dbt packages (like dbt_utils) is only partially tested

Please read these docs carefully and use at your own risk. Issues welcome!

Table of Contents

Installation

This plugin can be installed via pip:

$ pip install dbt-ibmdb2

Supported features

DB2 LUW DB2 z/OS Feature
🤷 Table materialization
🤷 View materialization
🤷 Incremental materialization
🤷 Ephemeral materialization
🤷 Seeds
🤷 Sources
🤷 Custom data tests
🤷 Docs generate
🤷 Snapshots

Notes:

  • dbt-ibmdb2 is built on the ibm_db python package and there are some known encoding issues related to z/OS.

Configuring your profile

A dbt profile can be configured to run against DB2 using the following configuration example:

Example entry for profiles.yml:

your_profile_name:
  target: dev
  outputs:
    dev:
      type: ibmdb2
      schema: analytics
      database: test
      host: localhost
      port: 50000
      protocol: TCPIP
      user: my_username
      password: my_password
      extra_connect_opts: my_extra_config_options
Option Description Required? Example
type The specific adapter to use Required ibmdb2
schema Specify the schema (database) to build models into Required analytics
database Specify the database you want to connect to Required testdb
host Hostname or IP-adress Required localhost
port The port to use Optional 50000
protocol Protocol to use Optional TCPIP
user The username to use to connect to the server Required my-username
password The password to use for authenticating to the server Required my-password
extra_connect_opts Extra connection options Optional Security=SSL;SSLClientKeyStoreDB=<path-to-client-keystore>;SSLClientKeyStash=<path-to-client-keystash>

Setup dev environment and run tests

Make sure you have docker and poetry installed globally.

make install
make test
make uninstall

Reporting bugs

Want to report a bug or request a feature? Open an issue.

Credits

dbt-ibmdb2 is heavily inspired by and borrows from dbt-mysql and dbt-oracle.