question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

The database file was created with an newer version of DuckDB.

See original GitHub issue

Thanks for developing both dbt-duckdb and target-duckdb!

Being new to the whole meltano, dbt, duckdb stack I tried to modify the official meltanto tutorial by replacing postgres with duckdb

cat meltano.yml 
version: 1
default_environment: dev
project_id: b1cb5b90-6956-4199-b7ed-e10092dfb5da
environments:
- name: dev
- name: staging
- name: prod
plugins:
  extractors:
  - name: tap-github
    variant: singer-io
    pip_url: tap-github
    config:
      repository: palaimon/ipyannotator palaimon/fastfm2
      start_date: ' 2016-11-28'
    select:
    - commits.url
    - commits.sha
    - commits.*
  loaders:
  - name: target-jsonl
    variant: andyh1203
    pip_url: target-jsonl
  - name: target-duckdb
    variant: jwills
    pip_url: target-duckdb~=0.4
    config:
      add_metadata_columns: true
      filepath: dump.duckdb
      default_target_schema: tap_github
  transformers:
  - name: dbt-duckdb
    variant: jwills
    pip_url: dbt-core~=1.2.0 dbt-duckdb~=1.2.0
    config:
      path: <my local path>/dump.duckdb

and run into the following error message.

dbt.exceptions.RuntimeException: Runtime Error
  IO Error: Trying to read a database file with version number 39, but we can only read version 38.
  The database file was created with an newer version of DuckDB.
  
  The storage of DuckDB is not yet stable; newer versions of DuckDB cannot read old database files and vice versa.
  The storage will be stabilized when version 1.0 releases.
  
  For now, we recommend that you load the database file in a supported version of DuckDB, and use the EXPORT DATABASE command followed by IMPORT DATABASE on the current version of DuckDB.

The error Trying to read a database file with version number 39, but we can only read version 38. seems pretty clear but I wasn’t able to find a way to pin the dbt-duckdb and target-duckdb version in such a way that they are compatible.

A pointer on how to make dbt-duckdb and target-duckdb work together in meltano would be great.

Issue Analytics

  • State:open
  • Created 10 months ago
  • Comments:5 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
jwillscommented, Nov 29, 2022

Jacob’s recommendation is to use target-parquet instead of target-duckdb to get around the issue, and I am thinking that is the best short-term strategy here until I actually build that MDS in a box project, which tbh I am warming up to as I sit here thinking about it 🤔

0reactions
matsonjcommented, Nov 30, 2022

@ibayer imo the advantage of meltano is the ecosystem of connectors - ironically the csv extractor is not required to use with dbt-duckdb. Think about the MDS in a box project as more like a frame in which you can swap pieces in and out as required. For me, I will be swapping out the data viz bits as well as some new extractors. Happy to chat here or in twitter DMs or what have you if you have questions!!

Read more comments on GitHub >

github_iconTop Results From Across the Web

IO Error: Trying to read a database file with version number 11 ...
The database file was created with an older version of DuckDB. The storage of DuckDB is not yet stable; newer versions of DuckDB...
Read more >
Export & Import Database - DuckDB
The file contains a single COPY statement for every table found in the schema. The database can be reloaded by using the IMPORT...
Read more >
Unable to access tables written to duckdb when starting new ...
The database file was created with an older version of DuckDB. The storage of DuckDB is not yet stable; newer versions of DuckDB...
Read more >
DuckDB support - Metabase Discussion
The database file was created with a newer version of DuckDB. The storage of DuckDB is not yet stable; newer versions of DuckDB...
Read more >
dbt-duckdb - PyPI
DuckDB is an embedded database, similar to SQLite, but designed for OLAP-style analytics. It is crazy fast and allows you to read and...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found