Jonathan Nunes
07/04/2025, 12:21 PMEdgar Ramírez (Arch.dev)
07/04/2025, 5:56 PMJonathan Nunes
07/04/2025, 6:16 PMKhoa Nguyen
08/28/2025, 5:03 AMprocess_activate_version_messages config to become False, i.e.
- 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 👍