diff options
author | dakkar <dakkar@thenautilus.net> | 2017-12-23 19:17:19 +0000 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2017-12-23 19:17:19 +0000 |
commit | 7a16254f039d02f8e8dc24858ae1840b547408b1 (patch) | |
tree | af4e9da55949689576eeb8a4c67d2d260da7fdd8 /lib/Ultramarine/Model/DBMigration.pm6 | |
parent | script to call my subsonic server (diff) | |
download | Ultramarine-7a16254f039d02f8e8dc24858ae1840b547408b1.tar.gz Ultramarine-7a16254f039d02f8e8dc24858ae1840b547408b1.tar.bz2 Ultramarine-7a16254f039d02f8e8dc24858ae1840b547408b1.zip |
restructure DB schema, go plain DBIish
Diffstat (limited to 'lib/Ultramarine/Model/DBMigration.pm6')
-rw-r--r-- | lib/Ultramarine/Model/DBMigration.pm6 | 12 |
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')) |