summaryrefslogtreecommitdiff
path: root/lib/Ultramarine/Model/DBMigration.pm6
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Ultramarine/Model/DBMigration.pm6')
-rw-r--r--lib/Ultramarine/Model/DBMigration.pm612
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/Ultramarine/Model/DBMigration.pm6 b/lib/Ultramarine/Model/DBMigration.pm6
index e2ac3b8..d51697f 100644
--- a/lib/Ultramarine/Model/DBMigration.pm6
+++ b/lib/Ultramarine/Model/DBMigration.pm6
@@ -6,28 +6,30 @@ class Ultramarine::Model::DBMigration {
has Callable @.migrations = ();
method get-meta() {
- return $.dbh.query(q:to/END/).hash;
+ my $sth = $.dbh.prepare(q:to/END/);
SELECT *
FROM meta
ORDER BY version DESC
LIMIT 1
END
+ $sth.execute;
+ return $sth.row(:hash);
CATCH { when X::DBDish::DBError { return Nil } }
+ LEAVE { .finish with $sth }
}
method !update-meta(*%new-values) {
my @columns = %new-values.keys;
my @values = %new-values{|@columns};
- my $query = qq:to/END/;
+
+ $.dbh.do(qq:to/END/,@values);
INSERT INTO meta({@columns.join(',')})
VALUES ({@columns.map({'?'}).join(',')})
END
- say $query;
- $.dbh.query($query,@values).finish;
}
method !create-meta() {
- $.dbh.query(q:to/END/).finish;
+ $.dbh.do(q:to/END/);
CREATE TABLE meta (
version INTEGER NOT NULL,
done_at TEXT DEFAULT (datetime('now'))