From 6f8676aae207c3b631643a526890f813e973194c Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 23 Dec 2013 17:56:45 -0600 Subject: bucky2 db update, script to fix bad file move --- bucky2/lib/Bucky/DB.pm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'bucky2/lib/Bucky/DB.pm') diff --git a/bucky2/lib/Bucky/DB.pm b/bucky2/lib/Bucky/DB.pm index bca92b7..9690f40 100644 --- a/bucky2/lib/Bucky/DB.pm +++ b/bucky2/lib/Bucky/DB.pm @@ -39,6 +39,26 @@ sub insert } sub update { + my ($self, $type, $opt) = @_; + my $criteria = $opt->{'criteria'}; + my $record = $opt->{'record'}; + + $type = $DB_LOOKUP->{$type}; + return unless $type && ref($record) eq "HASH" && scalar keys %$record; + my $key_values = []; + foreach my $key (keys %$record) + { + push @$key_values, $key . "=" . $self->quote($record->{$key}); + } + my $key_value_string = join ",", @$key_values; + return unless length $key_value_string; + + my $criteria_string = $self->criteria($criteria); + return unless length $criteria_string; + + my $sql = "UPDATE $type SET $key_value_string WHERE $criteria_string"; + + $self->execute($sql); } sub select { @@ -103,6 +123,7 @@ sub execute my ($self, $sql) = @_; my $sth = $self->dbh->prepare($sql); $sth->execute; + return $sth; } sub quote -- cgit v1.2.3-70-g09d2