diff --git a/server/db/sqlite/sql.go b/server/db/sqlite/sql.go index 36e8f16..ac9c921 100644 --- a/server/db/sqlite/sql.go +++ b/server/db/sqlite/sql.go @@ -1,20 +1,5 @@ package sqlite -const migrateScript = ` -alter table blocks add mtime integer default 0; -create index blocks_mtime on blocks(mtime); - -CREATE TRIGGER update_blocks_mtime_insert after insert on blocks for each row -begin -update blocks set mtime = strftime('%s', 'now') where pos = new.pos; -end; - -CREATE TRIGGER update_blocks_mtime_update after update on blocks for each row -begin -update blocks set mtime = strftime('%s', 'now') where pos = old.pos; -end; -` - const getBlocksByMtimeQuery = ` select pos,data,mtime from blocks b diff --git a/server/db/sqlite/sqlite.go b/server/db/sqlite/sqlite.go index 92ff63d..5a3a4e3 100644 --- a/server/db/sqlite/sqlite.go +++ b/server/db/sqlite/sqlite.go @@ -6,6 +6,7 @@ import ( "github.com/sirupsen/logrus" "mapserver/coords" "mapserver/db" + "mapserver/vfs" "time" ) @@ -38,7 +39,7 @@ func (db *Sqlite3Accessor) Migrate() error { if !hasMtime { log.WithFields(logrus.Fields{"filename": db.filename}).Info("Migrating database") start := time.Now() - _, err = rwdb.Exec(migrateScript) + _, err = rwdb.Exec(vfs.FSMustString(false, "/sql/sqlite_mapdb_migrate.sql")) if err != nil { return err } diff --git a/server/static/sql/sqlite_mapdb_migrate.sql b/server/static/sql/sqlite_mapdb_migrate.sql new file mode 100644 index 0000000..a1e8748 --- /dev/null +++ b/server/static/sql/sqlite_mapdb_migrate.sql @@ -0,0 +1,12 @@ +alter table blocks add mtime integer default 0; +create index blocks_mtime on blocks(mtime); + +CREATE TRIGGER update_blocks_mtime_insert after insert on blocks for each row +begin +update blocks set mtime = strftime('%s', 'now') where pos = new.pos; +end; + +CREATE TRIGGER update_blocks_mtime_update after update on blocks for each row +begin +update blocks set mtime = strftime('%s', 'now') where pos = old.pos; +end;