
=head1 NAME

DBIx::ThinSQL::Drop - Clean database support for DBIx::ThinSQL

=head1 VERSION

0.0.48 (2016-11-01) development release.

=head1 SYNOPSIS

    use DBIx::ThinSQL;
    use DBIx::ThinSQL::Drop;

    my $db = DBIx::ThinSQL->connect('dbi:SQLite:dbname=test');

    # After this you can run your tests with a freshly
    # cleaned database.
    $db->drop_everything();


=head1 DESCRIPTION

B<DBIx::ThinSQL::Drop> adds support to L<DBIx::ThinSQL> for cleaning
out your database. This is mostly useful when running tests with
something like L<Test::Database> where you don't know who was doing
what with your test database.

This module currently only works with SQLite and PostgreSQL databases.

B<*WARNING*> All of the following methods EAT YOUR DATA! B<*WARNING*>

=head1 METHODS

=over 4

=item drop_functions

Drops all functions from the database.

=item drop_indexes

Drops all indexes from the database.


=item drop_languages

Drops all languages from the database.


=item drop_sequences

Drops all sequences from the database.


=item drop_table

Drops all tables from the database.


=item drop_triggers

Drops all triggers from the database.


=item drop_views

Drops all views from the database.


=item drop_everything

Drops all tables, sequences, triggers and functions from the database.

=back

=head1 SEE ALSO

L<DBIx::ThinSQL>

=head1 AUTHOR

Mark Lawrence E<lt>nomad@null.netE<gt>

=head1 COPYRIGHT AND LICENSE

Copyright (C) 2013 Mark Lawrence <nomad@null.net>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3 of the License, or (at your
option) any later version.

