anlek / mongify

Mongify allows you to map your data from a sql database and into a mongodb document database.
http://github.com/anlek/mongify
MIT License
317 stars 82 forks source link

Upgrade to Mongo 2.0 Syntax #148

Open yuvalkarmi opened 7 years ago

yuvalkarmi commented 7 years ago

I've gone ahead and made the necessary changes in across the board for this gem to work with MongoDB versions 3.4+, which have not been previously supported. I've also added support for sharded clusters, and the ability to use SSL when connecting. Please see the full list of updates in the changelog. One note -- I did not test the sync ability or connection to sqlite3 databases. The setup I did test this with was MySQL + MongoDB 3.4 You're more than welcome to edit this as needed. Thanks for making this gem, and I hope my contribution helps! :)

anlek commented 7 years ago

Hey @yuvalkarmi, Thank you for taking this on! It looks excellent. However, there are tests which are failing. https://dsc.cloud/Anlek/Screen-Shot-2017-07-16-17-58-29

IsamAljawarneh commented 7 years ago

Hey @anlek , Mongify is an intersting tool, i tested it with mlab.com node and it works good. however, with Atlas MongoDB's cluster , it does not seem to work. i was searching for the problem for three days now, and the reason is clear now. MongoDB 3.4 is deployed in Atlas which is not supported by Mongify currently. also, in Atlas SSL is enabled and here is an example of the minimum Ruby connection config. required: ............................................................................................................................................ client = Mongo::Client.new('mongodb://kay:myRealPassword@mycluster0-shard-00-00-wpeiv.mongodb.net:27017,mycluster0-shard-00-01-wpeiv.mongodb.net:27017,mycluster0-shard-00-02-wpeiv.mongodb.net:27017/admin?ssl=true&replicaSet=Mycluster0-shard-0&authSource=admin') ...................................................................................................................................................

i hope that you upgrade Mongify as soon as possible to work with MongoDB 3.4, also, i suggest you provide a support for SSL configuration in database.config. and what about replicaSet and authSource in the previous connection string?

Thank you and Best Regards,

IsamAljawarneh commented 7 years ago

hi @yuvalkarmi , how to upgrade from Mongify 1.3.1 to Mongify 1.4.0?

yuvalkarmi commented 7 years ago

hey @doltiana -- so as @anlek mentioned, there are still a few tweaks to make before this can be pulled into core (notably, some tests are failing). However, the core functionality is working, and you can try it (at your own risk). For now, you can simply use my fork to do it, until we get everything sorted out:

https://github.com/yuvalkarmi/mongify

There's an updated readme that outlines support for MongoDB 3.4 and SSL.

I'll take care of the outstanding issues as soon as I get a bit of free time, and then Andrew would be able to merge it into core.

Happy to answer any other questions you may have, Yuval

IsamAljawarneh commented 7 years ago

hey @yuvalkarmi, ok i will try the fork you made. actually i don't normally work with Ruby. so, how to pull changes you made in my local system. is it a command to install directly like this: gem install mongify

or updating Gemfile , or what exactly?

Thank You.

anlek commented 7 years ago

@doltiana if you pull the code, you can follow the instructions under "Development" in the README.

IsamAljawarneh commented 7 years ago

Hey @anlek , can you provide me with specific instructions of how to pull the mongify gem from the fork by @yuvalkarmi , i tried different ways i found online but nothing seems to work. actually i need to test mongify with real data over a cloud cluster, and that cluster supports MongoDB 3.4 and SSL is enabled among other properties.

like currently in my system i have installed mongify using: gem install mongify then it works fine with a local instance of MongoDB, and with a remote MongoDB instance hosted in https://mlab.com/. however, it does not work with a MongoDB cluster hosted by MongoDB Atlas, since the latter supports only MongoDB 3.4 , and SSL is enabled. now, having this in mind, what should i do exactly to update my current version of mongify so that it works as exactly as modified by @yuvalkarmi ? Thanks

anlek commented 7 years ago

@doltiana you can git pull https://github.com/yuvalkarmi/mongify.git to get @yuvalkarmi code.

As for the remote MongoDB, I would recommend testing on a local copy as remote has network delays that add up fast!

robertangeles commented 6 years ago

Hi Gents. Hope all is well. I found out that mongoDB 3.6 is in the horizon and was wondering if the changes being done in mongify will also support this new release.

Thanks!

anlek commented 6 years ago

Unfortunately, at the moment, I'm unable to put time into Mongify, but I am open to reviewing people's code and merging it in.