Hi Barak, I did some testing, the patch from https://www2.fossil-scm.org/fossil/info/d4041437b6f40d0cc62f22d2973498d596af325b1d18fed2dd7584aef733df7a indeed fixes the bug. I'm attaching the patch, and if you want, I can do NMU.
-- Sergei Golovan
diff -Nru fossil-2.14/debian/changelog fossil-2.14/debian/changelog --- fossil-2.14/debian/changelog 2021-01-24 19:12:40.000000000 +0300 +++ fossil-2.14/debian/changelog 2021-03-13 12:59:32.000000000 +0300 @@ -1,3 +1,11 @@ +fossil (1:2.14-1.1) unstable; urgency=medium + + * Non-maintainer upload + * Apply an upstream patch which fixes updating schema for repositories + created by fossil 1.x (closes: #985124) + + -- Sergei Golovan <sgolo...@debian.org> Sat, 13 Mar 2021 12:59:32 +0300 + fossil (1:2.14-1) unstable; urgency=medium * New upstream version diff -Nru fossil-2.14/debian/patches/series fossil-2.14/debian/patches/series --- fossil-2.14/debian/patches/series 2021-01-24 19:12:40.000000000 +0300 +++ fossil-2.14/debian/patches/series 2021-03-13 12:57:08.000000000 +0300 @@ -1 +1,2 @@ debian-changes +update-schema.patch diff -Nru fossil-2.14/debian/patches/update-schema.patch fossil-2.14/debian/patches/update-schema.patch --- fossil-2.14/debian/patches/update-schema.patch 1970-01-01 03:00:00.000000000 +0300 +++ fossil-2.14/debian/patches/update-schema.patch 2021-03-13 12:59:32.000000000 +0300 @@ -0,0 +1,27 @@ +Author: Upstream +Description: Disable devencive mode when updating schema for repositories created by fossil 1.x. + +--- a/src/rebuild.c ++++ b/src/rebuild.c +@@ -156,17 +156,20 @@ + /* Search for: length(uuid)==40 + ** 0123456789 12345 */ + int i; + for(i=10; z[i]; i++){ + if( z[i]=='=' && strncmp(&z[i-6],"(uuid)==40",10)==0 ){ ++ int rc = 0; + z[i] = '>'; ++ sqlite3_db_config(g.db, SQLITE_DBCONFIG_DEFENSIVE, 0, &rc); + db_multi_exec( + "PRAGMA writable_schema=ON;" + "UPDATE repository.sqlite_schema SET sql=%Q WHERE name LIKE 'blob';" + "PRAGMA writable_schema=OFF;", + z + ); ++ sqlite3_db_config(g.db, SQLITE_DBCONFIG_DEFENSIVE, 1, &rc); + break; + } + } + fossil_free(z); + } +