e Test::DBChanges::Role::JSON;
use Moo::Role;
use JSON::MaybeXS ();
use namespace::autoclean;
our $VERSION = '1.0.2'; # VERSION
# ABSTRACT: decode data that's recorded as JSON
sub decode_recorded_d
) = @_;
return JSON::MaybeXS::decode_json($recoded_data);
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Test::DBChanges::Role::JSON - decode data that's recorded as JSON
=head1 VERSION
ve
rsion 1.0.2
=head1 DESCRIPTION
Classes that store changes as JSON should consume this role.
=for Pod::Coverage decode_recorded_data
=head1 AUTHOR
Gianni Ceccarelli <gianni.ceccarelli@broadbean.co
'Test::DBChanges::Role::Base',
'Test::DBChanges::Role::Triggers',
'Test::DBChanges::Role::JSON';
our $VERSION = '1.0.2'; # VERSION
# ABSTRACT: installs triggers for PostgreSQL
sub maybe_pre
ename} (
id SERIAL PRIMARY KEY,
table_name VARCHAR NOT NULL,
operation VARCHAR NOT NULL,
data JSONB NOT NULL,
done_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now()
)
SQL
my $procname = "${
)
VALUES (TG_TABLE_NAME,TG_OP,row_to_json(OLD));
ELSE
INSERT INTO ${tablename} (table_name,operation,data)
VALUES (TG_TABLE_NAME,TG_OP,row_to_json(NEW));
END IF;
RETURN NULL;
END;
\$