App-Office-Contacts-Donations

 view release on metacpan or  search on metacpan

lib/App/Office/Contacts/Donations/Util/Create.pm  view on Meta::CPAN

package App::Office::Contacts::Donations::Util::Create;

use File::Slurp; # For read_file().

use FindBin::Real;

use Moose;

extends 'App::Office::Contacts::Util::Create';

use namespace::autoclean;

our $VERSION = '1.10';

# -----------------------------------------------

sub create_all_tables
{
	my($self) = @_;

	# Warning: The order is important.

	my($method);
	my($table_name);

	for $table_name (qw/
currencies
donation_motives
donation_projects
donations
/)
	{
		$method = "create_${table_name}_table";

		$self -> $method;
	}

	return 0;

}	# End of create_all_tables.

# --------------------------------------------------

sub create_currencies_table
{
	my($self)        = @_;
	my($table_name)  = 'currencies';
	my($primary_key) = $self -> creator -> generate_primary_key_sql($table_name);

	$self -> creator -> create_table(<<SQL);
create table $table_name
(
id $primary_key,
code varchar(255) not null,
name varchar(255) not null
)
SQL
	$self -> log(debug => "Created table $table_name");

}	# End of create_currencies_table.

# --------------------------------------------------

sub create_donation_motives_table
{
	my($self)        = @_;
	my($table_name)  = 'donation_motives';
	my($primary_key) = $self -> creator -> generate_primary_key_sql($table_name);

	$self -> creator -> create_table(<<SQL);
create table $table_name



( run in 0.631 second using v1.01-cache-2.11-cpan-5b529ec07f3 )