No commit activity in last 3 years
No release in over 3 years
Extract your Mongoid schema based on a top level class
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.10
~> 10.0
>= 0
 Project Readme

Mongoid Schema Dump

This gem allows you to dump your Mongoid schema based on a top level object. If you have an Organization model or equivalent, this tool can help you get the shortest path (by following belongs_to relationships) from any other object from your data model to your Organization model.

You can then use the output of this gem in combination with https://github.com/applidget/mongo-partial-dump, a MongoDB extractor reading from a database a writing to another one based on the filters you define with this gem.

Installation

Add this line to your application's Gemfile:

gem 'mongoid_schema_dump'

Then run bundle install

Or install it yourself as:

$ gem install mongoid_schema_dump

Usage in Rails

You can install a rake task in your app allowing you to dump your schema. This rake task will have to be customized in order to take into account what is specific about your data model, in particular the reference class, which is Organization in the default generated rake task :

$ bundle exec rails generate mongoid_schema_dump:task

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/applidget/mongoid_schema_dump. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.