mysql-inspector
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Tools for identifying changes to a MySQL schema
# mysql-inspector

mysql-inspector is a command line tool that helps you understand your
MySQL database schema. It works by writing a special type of dump file
to disk and then parsing it for various purposes.

## Usage

mysql-inspector supports several useful commands, but the first thing
you'll want to do is write at least one copy of your database to disk.

### write

Write a copy of your database to disk for mysql-inspector to operate on.
You can name this copy whatever you want, by default it's called
`current`.

    mysql-inspector write my_database

The result of this command will be a directory full of `.table` files at
`./current`, one for each table in your database. A `.table` file is a
simplified and consistent representation of a table. Most importantly,
it will not change arbitrarly like a `mysqldump` file if the order of
columns changes or an `AUTO_INCREMENT` value is defined on the table.
mysql-inspector is purely concerned with the relational structure of the
table and favors this over an exact representation of the current
database schema. In practice, this means that you can commit this
directory to source control and easily view diffs over time without
excess line noise.

### grep

Search your entire database for columns, indices and constraints that
match a string or regex. For example, find everything that includes
'user_id' to see which tables relate to a user.

    mysql-inspector grep user_id
    mysql-inspector grep '^name'

Multiple matchers may be specified, which are AND'd together.

    mysql-inspector grep first name

### diff

Compare two schemas against each other. Perhaps your local development
and production databases have gone out of sync. First write a copy of
each and then let mysql-inspector show you the tables and attributes
that differ.

By default, a diff is performed on dumps named `current` and `target`.

    mysql-inspector write dev_database current
    mysql-inspector write prod_database target
    mysql-inspector diff

### load

Restore a version of your database schema. By default, the `current`
schema is used.

    mysql-inspector load my_database

## Rails and ActiveRecord Migrations

mysql-inspector can help you manage your database schema in a Rails
project. It replaces rake tasks such as `db:structure:dump` and writes
its own version at `db/current` instead of `db/structure.sql`. You'll
find this format much more convenient for checking into version control.

When a `schema_migrations` table is found, mysql-inspector writes its
contents to a file called `schema_migrations` within the dump directory.
When a dump is loaded via `mysql-inspector load` or `rake
db:structure:load`, the migrations will be restored.

## Author

Ryan Carver (@rcarver / ryan@ryancarver.com)

## License

Copyright © 2012 Ryan Carver. Licensed under Ruby/MIT, see LICENSE.

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。