diff --git a/internal/db/sqlite/basedb.go b/internal/db/sqlite/basedb.go index 5bc6d4574..90ccc767d 100644 --- a/internal/db/sqlite/basedb.go +++ b/internal/db/sqlite/basedb.go @@ -25,7 +25,11 @@ import ( "github.com/syncthing/syncthing/lib/protocol" ) -const currentSchemaVersion = 4 +const ( + currentSchemaVersion = 4 + applicationIDMain = 0x53546d6e // "STmn", Syncthing main database + applicationIDFolder = 0x53546664 // "STfd", Syncthing folder database +) //go:embed sql/** var embedded embed.FS diff --git a/internal/db/sqlite/db_open.go b/internal/db/sqlite/db_open.go index f39eeaa96..88bbad0f4 100644 --- a/internal/db/sqlite/db_open.go +++ b/internal/db/sqlite/db_open.go @@ -7,6 +7,7 @@ package sqlite import ( + "fmt" "log/slog" "os" "path/filepath" @@ -52,6 +53,7 @@ func Open(path string, opts ...Option) (*DB, error) { "journal_mode = WAL", "optimize = 0x10002", "auto_vacuum = INCREMENTAL", + fmt.Sprintf("application_id = %d", applicationIDMain), } schemas := []string{ "sql/schema/common/*", @@ -100,6 +102,7 @@ func OpenForMigration(path string) (*DB, error) { "foreign_keys = 0", "synchronous = 0", "locking_mode = EXCLUSIVE", + fmt.Sprintf("application_id = %d", applicationIDMain), } schemas := []string{ "sql/schema/common/*", diff --git a/internal/db/sqlite/folderdb_open.go b/internal/db/sqlite/folderdb_open.go index 1faa45edc..11c602fa4 100644 --- a/internal/db/sqlite/folderdb_open.go +++ b/internal/db/sqlite/folderdb_open.go @@ -7,6 +7,7 @@ package sqlite import ( + "fmt" "time" "github.com/syncthing/syncthing/lib/protocol" @@ -25,6 +26,7 @@ func openFolderDB(folder, path string, deleteRetention time.Duration) (*folderDB "journal_mode = WAL", "optimize = 0x10002", "auto_vacuum = INCREMENTAL", + fmt.Sprintf("application_id = %d", applicationIDFolder), } schemas := []string{ "sql/schema/common/*", @@ -65,6 +67,7 @@ func openFolderDBForMigration(folder, path string, deleteRetention time.Duration "foreign_keys = 0", "synchronous = 0", "locking_mode = EXCLUSIVE", + fmt.Sprintf("application_id = %d", applicationIDFolder), } schemas := []string{ "sql/schema/common/*",