BritishGeologicalSurvey / etlhelper

ETL Helper is a Python ETL library to simplify data transfer into and out of databases.
https://britishgeologicalsurvey.github.io/etlhelper/
GNU Lesser General Public License v3.0
104 stars 25 forks source link

Switch from cx_oracle to oracledb #151

Closed ximenesuk closed 1 year ago

ximenesuk commented 1 year ago

This pull request replaces cx_Oracle libraries with oracledb and bumps the minimum Python version to 3.9

The brute force approach of globally replacing cx_Oracle with oracledb and adding cffi as a dependency resulted in all the tests passing. In addition the setup.py file has been updated to the new libraries. The requirements.txt file has also been updated. As an aside all has been added to setup uptions.

To test:

Closes #140 and #160

sophie-taylor commented 1 year ago

I've tested this request on various scripts and all passed fine. Ready to commit

leorudczenko commented 1 year ago

I've just been going through other files to change for #158, and it seems there are still some mentions of the old setup_oracle_client in CONTRIBUTING.md and potentially bin/run_tests_for_developer.sh too.

Also, should this merge request be for for_v1 rather than main?

volcan01010 commented 1 year ago

OK, well spotted. I'll change the target branch and update the docs.

volcan01010 commented 1 year ago

This all works for me and I'm happy to merge into for_v1.

Note that https://github.com/BritishGeologicalSurvey/etlhelper/issues/110 discusses handling LOBs in a different way. We should experiment with this now and decide what the default setting should be.