rtweeks / xmigra

Database evolution management tool
Other
5 stars 3 forks source link

XMigra Gem Version

DevOps tool for your relational database

What Does It Do?

What Systems Does It Work With?

Ruby

Version Control

Databases

Tell Me More!

XMigra brings the tools and ideas of software development to the world of database schemas. Specifically, this tool enables you to keep your database schema parts under version control in much the same way you keep your software source code under version control.

XMigra also removes the tedious and error-prone task of organizing the order of stored procedure, view, and user-defined function definition with dependency declarations. XMigra will remove and create these access artifacts in an order that satisfies the dependencies you declare. With the information it persists about the artifacts it has created, XMigra can effectively remove any that you remove from your schema source -- no need for you to track the names of database objects you long ago discarded.

Multiple branch development -- whether simultaneous by multiple developers or for agilely shifting focus to between priorities -- is fully supported by XMigra with tools to properly identify and resolve conflicts in the migration chain. XMigra comes with support for multiple release chains (i.e. branch upgrades) baked right in, too!

XMigra has a modular design, allowing extension to additional version control and database systems with only minor, if any, changes to the central framework.

Get the code and run xmigra overview for the tool's own rundown on all of its exciting features. The wiki for this project also contains a fairly comprehensive tutorial.

Installation

Creative Commons License
XMigra by Next IT Corporation and Richard T. Weeks is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License .

Add this line to your application's Gemfile:

gem 'xmigra'

And then execute:

$ bundle

Or install it yourself as:

$ gem install xmigra

Usage

XMigra is bundled with its own documentation. To view it, run:

$ xmigra help

or:

$ xmigra overview

Contributing

  1. Fork it ( http://github.com/rtweeks/xmigra/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request