---
name: "MySQL::Diff::Database"
section: "3pm"
platform: "linux"
package: "libmysql-diff-perl"
version: "0.60-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/MySQL::Diff::Database"
---

# MySQL::Diff::Database(3pm)

Database Definition Class

## NAME

MySQL::Diff::Database - Database Definition Class

## SYNOPSIS

```
  use MySQL::Diff::Database;
  my $db = MySQL::Diff::Database->new(%options);
  my $source    = $db->source_type();
  my $summary   = $db->summary();
  my $name      = $db->name();
  my @tables    = $db->tables();
  my $table_def = $db->table_by_name($table);
  my @dbs = MySQL::Diff::Database::available_dbs();
```

## DESCRIPTION

Parses a database definition into component parts.

## METHODS

### Constructor

- new( %options )

  Instantiate the objects, providing the command line options for database access and process requirements.

### Public Methods

- •

  *source\_type()*

  Returns 'file' if the data source is a text file, and 'db' if connected directly to a database.

- •

  *summary()*

  Provides a summary of the database.

- •

  *name()*

  Returns the name of the database.

- •

  *tables()*

  Returns a list of tables for the current database.

- •

  table\_by\_name( `$name` )

  Returns the table definition (see MySQL::Diff::Table) for the given table.

## FUNCTIONS

### Public Functions

- •

  *available\_dbs()*

  Returns a list of the available databases.

  Note that is used as a function call, not a method call.

## COPYRIGHT AND LICENSE

Copyright (c) 2000-2016 Adam Spiers. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

## SEE ALSO

mysqldiff, MySQL::Diff, MySQL::Diff::Table, MySQL::Diff::Utils

## AUTHOR

Adam Spiers \<mysqldiff@adamspiers.org\>
