Skip to content

fix for #48#66

Open
parisholley wants to merge 1 commit intosinger-io:masterfrom
parisholley:patch-1
Open

fix for #48#66
parisholley wants to merge 1 commit intosinger-io:masterfrom
parisholley:patch-1

Conversation

@parisholley
Copy link

@parisholley parisholley commented Oct 21, 2021

Description of change

see #48
the problem is that the mongo extractor is outputting a SCHEMA for every record, which may be a partial object. when this is consumed by the postgres loader, it fails because the schema keeps getting overwritten and it can't find the key_properties. i generate a catalog json with my own python script vs relying on this tap to generate it on the fly. i can't say for sure that this is the right solution (perhaps we should write the key_properties every time), but it is the root cause

Command

mongo meltano elt --job_id mongo --catalog transformed.json tap-mongodb target-postgres

Catalog

{
  "streams": [
    {
      "metadata": [
        {
          "breadcrumb": {},
          "metadata": {
            "database-name": "db",
            "replication-method": "FULL_TABLE",
            "selected": true,
            "tap-mongodb.projection": "{\"_id\": 1, \"name\": 1}"
          }
        }
      ],
      "schema": {
        "key_properties": [
          "_id"
        ],
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      }
    }
  ]
}

For those looking for a fix before this is merged, you can use this as your pip_url instead of the standard tap-mongodb package:

git+https://github.com/parisholley/tap-mongodb.git@5e5f95649d4705205b654a1b09a533f006e0126e

@cmerrick
Copy link

Hi @parisholley, thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes.

@cmerrick
Copy link

You did it @parisholley!

Thank you for signing the Singer Contribution License Agreement.

@je-kr
Copy link

je-kr commented Oct 24, 2022

Hi,

This fix would be very useful, any idea on when it could be merged ?

Thank you !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants