Hither is a general purpose database munging tool.
Hither's primary goals are:
Provide a CLI command called hither
hither
RDBMS schema and database migration
Provide a schema data definition language
Programming language agnostic
Database framework agnostic
Schema definition diffing
Generate database files from definitions
DB schema files
DB migration files
Generate database code from definitions
DBIx::Class classes for Perl
ActiveRecord classes for Ruby
The hither command has many actions. Here are some examples:
hither migrate <options> <arguments>
Migrate a database from state A to state B.
hither import …
Import a database from a source. Could be a dump or another database.
hither generate …
Generate things from things.
hither diff …
Hither will start out as a wrapper around other tools. It will patch and fill in gaps as necessary.
For starters, heavy use will be made of:
SQL::Translator
This module does a lot of transformations. It is a good starting point.
Eventually all popular, open source databases should be supported. For now just concentrating on 3 for bootstrapping phase. Having 3 concerns is a good number for agnostic, yet focused, projects.
This DB is driving the need for this tool currently.
Simple, single file, real database. Good for prototyping and testing.
CSV is considered a database since so much open data is in this format.
To install Hither, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Hither
CPAN shell
perl -MCPAN -e shell install Hither
For more information on module installation, please visit the detailed CPAN module installation guide.