-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make it compatible with and contribute support for it within knex.js #3
Comments
@tombburnell we'll need help on this. Would you be able to dig into knex.js and assess what it would take? |
Unfortunately I don't get too much free time so it's unlikely. I'd suggest reaching out to the Knex.js developer(s) and make it clear you want to collaborate with them. They might be able to give you a blueprint to work against and guide you. I think starting knex integration would be the best way to get more people involved in using/contributing to the library. |
@tombburnell from experience, there has to be user demand before one community will see the value of integrating their tech with another. And users will have to help maintain the code going forward. This means it is important for you as a user to also contact the Knex team. And also if you come across other Knex users who want Oracle support make sure I'm aware of the demand too. |
@cjbj I implemented the node-oracle support for knex.js. Adaptation should be not so difficult, however the driver needs to support for Outparams because of needed workarounds for the Oracle behavior. I glanced over your documentation and have not seen support for it mentioned yet. It would very helpful if Oracle can supply direct download urls for Oracle XE and the Instant Basic Client 12 for Linux X64, so that the oracle dialect is always properly tested (including pull requests) with TravisCI. |
@vschoettke By 'outparams' do you mean support for Oracle's RETURNING INTO clause (see #4)? Node-oracledb 0.2 already has support for OUT and IN OUT binds from calls to Oracle's PL/SQL https://github.com/oracle/node-oracledb/blob/master/doc/api.md#outbind Your point about TravisCI is valid. |
+1 on knex/oracle support |
+1 |
So, is https://github.com/tgriesser/knex/tree/master/lib/dialects/oracle ready to use? *Edit, sorry that one for node-oracle https://github.com/joeferner/node-oracle |
+1 |
Yeah if anyone can help me out with this I'd love to get support in there - in particular the best way to get this setup with some sort of CI suite (travis or otherwise). |
I just did some googling and came across this - https://github.com/cbandy/travis-oracle, looks promising |
@tgriesser I already did the Oracle Travis CI integration a long time ago. (see the oracle-ci-intregration branch in my knex fork) The problem is not the CI integration but that Oracle XE is not publicly available for download. (You have to agree to the Oracle license.) That still hasn't changed yet. |
Knex node-oracledb testers needed: See comment from @atiertant in knex/knex#990 |
/cc @tombburnell |
@cjbj at this time node-oracledb can be used with knex using 'oracledb' dialect. |
@atiertant Here's an example of running tests with Oracle on CircleCI (the example is for strong-oracle, but the same can be done for oracledb). The Oracle Instantclient SDK needs to be downloaded from somewhere, in this case a read-only S3 bucket, and installed on the CircleCI VM running the test. The circle.yml setup takes advantage of CircleCI caching, so that the files only need to be downloaded once. |
@atiertant its not that I can only test with node 6. |
@sagiegurari oups sorry ! how do you install instantclient ? a "how to" would be realy helpful |
take a look at the build.sh its important to be able to test your code without complex 3rd parties that is why I mock oracle and got tests for every function in my libs for all scenarios. |
hum so you need one docker container for each node version and one more for the database. |
you can do that. personally I picked to use 2 docker images that already existed and just connect them. |
i never used docker but i could learn... |
@cjbj can answer that one best. |
@atiertant if you are installing node-oracledb on a machine (or image) that has an Oracle Database you don't need to install Instant Client. See https://github.com/oracle/node-oracledb/blob/master/INSTALL.md#instoh Thanks for taking the lead on the Knex integration. Should we close this (#3) issue now? Another Docker Oracle DB reference is: https://blogs.oracle.com/developer/entry/creating_and_oracle_database_docker which shows using Oracle's docker build images for the database: https://github.com/oracle/docker-images/tree/master/OracleDatabase For Instant Client, have you seen @bchr02's https://github.com/bchr02/instantclient Regarding the license: IANAL. Just check the license of what you download. Things downloaded from OTN tend to have licenses that are developer-friendly. |
@cjbj yes, this could be closed, but i'll open a new one : "Make it compatible with Travis CI" |
I'm going to close this issue: for KNEX and Oracle, see (for example) https://github.com/tgriesser/knex/tree/master/src/dialects/oracledb Thanks for making it all work! |
We are considering migration from mysql to oracle but our application is currently heavily reliant on knex.js. Making node-oracle compatible with knex.js would make this a possibility for us.
Cross link for convenience: knex/knex#646
The text was updated successfully, but these errors were encountered: