lib/dbox/database.rb in dbox-0.5.1 vs lib/dbox/database.rb in dbox-0.5.2

- old
+ new

@@ -70,11 +70,20 @@ end def migrate if metadata[:version] < 2 @db.execute_batch(%{ - ALTER TABLE metadata DROP COLUMN local_path; - UPDATE_TABLE metadata SET version = 2; + BEGIN TRANSACTION; + ALTER TABLE metadata RENAME TO metadata_old; + CREATE TABLE metadata ( + id integer PRIMARY KEY AUTOINCREMENT NOT NULL, + remote_path varchar(255) NOT NULL, + version integer NOT NULL + ); + INSERT INTO metadata SELECT id, remote_path, version FROM metadata_old; + DROP TABLE metadata_old; + UPDATE metadata SET version = 2; + COMMIT; }) end end METADATA_COLS = [ :remote_path, :version ] # don't need to return id