any of you guys know about this error i'm having w...
# getting-started
j
any of you guys know about this error i'm having when using target-redshift --variant ticketswap? and how to solve it? already checked if my loader is up to date 2025-07-04T121112.175516Z [error ] Loading failed code=1 message="TypeError: prepare_column() missing 1 required positional argument: 'cursor'" name=meltano run_id=f7f213ef-0e5e-4dd2-87c2-45f83e0f983f state_id=2025-07-04T120759--tap-mysql--target-redshift
1
e
Hi @Jonathan Nunes 👋 I think your issue is described in https://github.com/TicketSwap/target-redshift/issues/115?
1
j
thank you, I changed the loader to variant transferwise, but will try later new tests with ticketswap
👍 1
k
I found a solution, we must set
process_activate_version_messages
config to become False, i.e.
Copy code
- name: target-redshift
    variant: ticketswap
    executable: target-redshift
    pip_url: git+<https://github.com/TicketSwap/target-redshift.git@v0.2.2>
    config:
      add_metadata_columns: false
      process_activate_version_messages: false
Long story short, Ticketswap is not fully-compatible to sqlalchemy because Redshift sqlalchemy is unmaintained • I guess this reason forces the author to implement using redshift-connector package instead, making the target Redshift is not compatible with
SQLConnector.prepare_*
interface which isn't required to pass
cursor
object. ◦ It would be great if the SDK can support such case without sqlalchemy 🤔 – i.e. Redshift DBT adapter use redshift-connector directly and similar for other adapters snowflake, postgres, etc ◦ In fact,
RedshiftConnector.prepare_*
overrides and copying the same parent method content with a single line change at the bottom of the method to use cursor instead • After reading the code from bottom to top, I found that knob we could turn off to avoid TS invokes
activate_version
method in
TargetBase._process_activate_version_message
• Let me find time to write an issue and contribute activate version to TS, for now we can just turn it off first if you don't need ACTIVATE_VERSION 👍