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;