diff --git a/src/Database.T4/DataModel/CsDatabase.tt b/src/Database.T4/DataModel/CsDatabase.tt
index 435b6347e296332ea8f4a3677b60e85c69afe152..a64f6f5466447978968e4267c9ea1b058138aa04 100644
--- a/src/Database.T4/DataModel/CsDatabase.tt
+++ b/src/Database.T4/DataModel/CsDatabase.tt
@@ -4,7 +4,7 @@
 <#@ include file="$(ProjectDir)\LinqToDB.Templates\PluralizationService.ttinclude"     #>
 
 <#@ assembly name="$(ProjectDir)..\packages\Coscine.Configuration.1.5.0\lib\net461\Coscine.Configuration.dll"#>
-<#@ assembly name="$(ProjectDir)..\packages\Coscine.Migrations.1.7.0\lib\net461\Coscine.Migrations.dll" #>
+<#@ assembly name="$(ProjectDir)..\packages\Coscine.Migrations.1.8.0-topic-1051-basic0005\lib\net461\Coscine.Migrations.dll" #>
 <#@ assembly name="$(ProjectDir)..\packages\Coscine.Database.Helpers.1.1.0\lib\net461\Coscine.Database.Helpers.dll" #>
 
 <#@ assembly name="$(ProjectDir)..\packages\Microsoft.Extensions.DependencyInjection.2.0.0\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.dll"#>
diff --git a/src/Database.T4/Database.T4.csproj b/src/Database.T4/Database.T4.csproj
index f47173684fa0f6424587bb9cbe53230b238417b2..68ad37c9b4bd791f3a020f8489c0a9c80fb782ce 100644
--- a/src/Database.T4/Database.T4.csproj
+++ b/src/Database.T4/Database.T4.csproj
@@ -49,8 +49,8 @@
     <Reference Include="Coscine.Database.Helpers, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
       <HintPath>..\packages\Coscine.Database.Helpers.1.1.0\lib\net461\Coscine.Database.Helpers.dll</HintPath>
     </Reference>
-    <Reference Include="Coscine.Migrations, Version=1.7.0.0, Culture=neutral, processorArchitecture=MSIL">
-      <HintPath>..\packages\Coscine.Migrations.1.7.0\lib\net461\Coscine.Migrations.dll</HintPath>
+    <Reference Include="Coscine.Migrations, Version=1.8.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\Coscine.Migrations.1.8.0-topic-1051-basic0005\lib\net461\Coscine.Migrations.dll</HintPath>
     </Reference>
     <Reference Include="FluentMigrator, Version=3.2.8.0, Culture=neutral, PublicKeyToken=aacfc7de5acabf05, processorArchitecture=MSIL">
       <HintPath>..\packages\FluentMigrator.3.2.8\lib\net461\FluentMigrator.dll</HintPath>
@@ -112,8 +112,8 @@
     <Reference Include="FluentMigrator.Runner.SqlServerCe, Version=3.2.8.0, Culture=neutral, PublicKeyToken=aacfc7de5acabf05, processorArchitecture=MSIL">
       <HintPath>..\packages\FluentMigrator.Runner.SqlServerCe.3.2.8\lib\net461\FluentMigrator.Runner.SqlServerCe.dll</HintPath>
     </Reference>
-    <Reference Include="linq2db, Version=3.1.0.0, Culture=neutral, PublicKeyToken=e41013125f9e410a, processorArchitecture=MSIL">
-      <HintPath>..\packages\linq2db.3.1.0\lib\net46\linq2db.dll</HintPath>
+    <Reference Include="linq2db, Version=3.1.1.0, Culture=neutral, PublicKeyToken=e41013125f9e410a, processorArchitecture=MSIL">
+      <HintPath>..\packages\linq2db.3.1.1\lib\net46\linq2db.dll</HintPath>
     </Reference>
     <Reference Include="Microsoft.Data.Sqlite, Version=3.1.5.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
       <HintPath>..\packages\Microsoft.Data.Sqlite.Core.3.1.5\lib\netstandard2.0\Microsoft.Data.Sqlite.dll</HintPath>
@@ -186,6 +186,7 @@
   </ItemGroup>
   <Import Project="CustomT4.targets" />
   <ItemGroup>
+    <None Include="amd64\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest" />
     <None Include="CustomT4.targets" />
     <Compile Include="DataModel\CsDatabase.generated.cs">
       <AutoGen>True</AutoGen>
@@ -193,6 +194,7 @@
       <DependentUpon>CsDatabase.tt</DependentUpon>
     </Compile>
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <None Include="x86\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest" />
   </ItemGroup>
   <ItemGroup>
     <None Include="app.config" />
@@ -224,7 +226,26 @@
     <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
   </ItemGroup>
   <ItemGroup>
+    <Content Include="amd64\Microsoft.VC90.CRT\msvcr90.dll" />
+    <Content Include="amd64\Microsoft.VC90.CRT\README_ENU.txt" />
+    <Content Include="amd64\sqlceca40.dll" />
+    <Content Include="amd64\sqlcecompact40.dll" />
+    <Content Include="amd64\sqlceer40EN.dll" />
+    <Content Include="amd64\sqlceme40.dll" />
+    <Content Include="amd64\sqlceqp40.dll" />
+    <Content Include="amd64\sqlcese40.dll" />
     <Content Include="LinqToDB.Templates\CopyMe.SqlServer.tt.txt" />
+    <Content Include="runtimes\win-arm\native\e_sqlite3.dll" />
+    <Content Include="runtimes\win-x64\native\e_sqlite3.dll" />
+    <Content Include="runtimes\win-x86\native\e_sqlite3.dll" />
+    <Content Include="x86\Microsoft.VC90.CRT\msvcr90.dll" />
+    <Content Include="x86\Microsoft.VC90.CRT\README_ENU.txt" />
+    <Content Include="x86\sqlceca40.dll" />
+    <Content Include="x86\sqlcecompact40.dll" />
+    <Content Include="x86\sqlceer40EN.dll" />
+    <Content Include="x86\sqlceme40.dll" />
+    <Content Include="x86\sqlceqp40.dll" />
+    <Content Include="x86\sqlcese40.dll" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>
diff --git a/src/Database.T4/Properties/AssemblyInfo.cs b/src/Database.T4/Properties/AssemblyInfo.cs
index d1bf4440a812c25d207927d87b649f401b211c8b..0221b21e2feeb1ca0a5cf8fb1868b54d79d5b60d 100644
--- a/src/Database.T4/Properties/AssemblyInfo.cs
+++ b/src/Database.T4/Properties/AssemblyInfo.cs
@@ -11,6 +11,6 @@ using System.Reflection;
 [assembly: AssemblyProduct("Database.T4")]
 [assembly: AssemblyVersion("1.25.0")]
 [assembly: AssemblyFileVersion("1.25.0")]
-[assembly: AssemblyInformationalVersion("1.25.0-topic-1060-affil0001")]
+[assembly: AssemblyInformationalVersion("1.25.0-topic-1051-basic0005")]
 [assembly: AssemblyCopyright("2020 IT Center, RWTH Aachen University")]
 
diff --git a/src/Database.T4/amd64/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest b/src/Database.T4/amd64/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
new file mode 100644
index 0000000000000000000000000000000000000000..47bd4a04ac271f3c4ad2d7a4898b776c8ccf9ec6
--- /dev/null
+++ b/src/Database.T4/amd64/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+    <noInheritable></noInheritable>
+    <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.30729.4148" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
+    <file name="msvcr90.dll" hashalg="SHA1" hash="1b065fdf0cb8516b0553128eae4af39c5f8eeb46"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>Vy8CgQgbu3qH5JHTK0op4kR8114=</dsig:DigestValue></asmv2:hash></file> <file name="msvcp90.dll" hashalg="SHA1" hash="45d3027d87eade77317e92994790598c755b3920"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>QTJu3Gttpt8hhCktGelNeXj4Yp8=</dsig:DigestValue></asmv2:hash></file> <file name="msvcm90.dll" hashalg="SHA1" hash="e77fd69f7c88f34329d8a95c3179f67ead330217"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>1ruqF7/L+m1tqnJVscaOtNRNHIE=</dsig:DigestValue></asmv2:hash></file>
+</assembly>
\ No newline at end of file
diff --git a/src/Database.T4/amd64/Microsoft.VC90.CRT/README_ENU.txt b/src/Database.T4/amd64/Microsoft.VC90.CRT/README_ENU.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fc38b3684fbe06e056c123e9ff6f576f842c8b69
Binary files /dev/null and b/src/Database.T4/amd64/Microsoft.VC90.CRT/README_ENU.txt differ
diff --git a/src/Database.T4/amd64/Microsoft.VC90.CRT/msvcr90.dll b/src/Database.T4/amd64/Microsoft.VC90.CRT/msvcr90.dll
new file mode 100644
index 0000000000000000000000000000000000000000..c95e1bf213f99ca8c602a8c7dd33223215328fdb
Binary files /dev/null and b/src/Database.T4/amd64/Microsoft.VC90.CRT/msvcr90.dll differ
diff --git a/src/Database.T4/amd64/sqlceca40.dll b/src/Database.T4/amd64/sqlceca40.dll
new file mode 100644
index 0000000000000000000000000000000000000000..d5d4c2044822b6c8ccb38c4086411d668fe5a0df
Binary files /dev/null and b/src/Database.T4/amd64/sqlceca40.dll differ
diff --git a/src/Database.T4/amd64/sqlcecompact40.dll b/src/Database.T4/amd64/sqlcecompact40.dll
new file mode 100644
index 0000000000000000000000000000000000000000..ed061adee6683c2c5beb3fba60603617fc143275
Binary files /dev/null and b/src/Database.T4/amd64/sqlcecompact40.dll differ
diff --git a/src/Database.T4/amd64/sqlceer40EN.dll b/src/Database.T4/amd64/sqlceer40EN.dll
new file mode 100644
index 0000000000000000000000000000000000000000..e19eed9bda9a4230b54d4e182426970e9985a03f
Binary files /dev/null and b/src/Database.T4/amd64/sqlceer40EN.dll differ
diff --git a/src/Database.T4/amd64/sqlceme40.dll b/src/Database.T4/amd64/sqlceme40.dll
new file mode 100644
index 0000000000000000000000000000000000000000..c67fc9e6a5368b86cad0a83d7ba1ad5269ee4119
Binary files /dev/null and b/src/Database.T4/amd64/sqlceme40.dll differ
diff --git a/src/Database.T4/amd64/sqlceqp40.dll b/src/Database.T4/amd64/sqlceqp40.dll
new file mode 100644
index 0000000000000000000000000000000000000000..df4440332dcec0ae168e1ac04fa26394624d7f6d
Binary files /dev/null and b/src/Database.T4/amd64/sqlceqp40.dll differ
diff --git a/src/Database.T4/amd64/sqlcese40.dll b/src/Database.T4/amd64/sqlcese40.dll
new file mode 100644
index 0000000000000000000000000000000000000000..af2de5ec908ecff44965194fd70e4b782bcf69cf
Binary files /dev/null and b/src/Database.T4/amd64/sqlcese40.dll differ
diff --git a/src/Database.T4/packages.config b/src/Database.T4/packages.config
index 26d966d0eae515d18272bafbab32a017053e2113..214b163b4b37cb27332d9043d3993bc7a71f4318 100644
--- a/src/Database.T4/packages.config
+++ b/src/Database.T4/packages.config
@@ -3,7 +3,7 @@
   <package id="Consul" version="0.7.2.6" targetFramework="net461" />
   <package id="Coscine.Configuration" version="1.5.0" targetFramework="net461" />
   <package id="Coscine.Database.Helpers" version="1.1.0" targetFramework="net461" />
-  <package id="Coscine.Migrations" version="1.7.0" targetFramework="net461" />
+  <package id="Coscine.Migrations" version="1.8.0-topic-1051-basic0005" targetFramework="net461" />
   <package id="FluentMigrator" version="3.2.8" targetFramework="net461" />
   <package id="FluentMigrator.Abstractions" version="3.2.8" targetFramework="net461" />
   <package id="FluentMigrator.Extensions.Oracle" version="3.2.8" targetFramework="net461" />
@@ -24,7 +24,7 @@
   <package id="FluentMigrator.Runner.SQLite" version="3.2.8" targetFramework="net461" />
   <package id="FluentMigrator.Runner.SqlServer" version="3.2.8" targetFramework="net461" />
   <package id="FluentMigrator.Runner.SqlServerCe" version="3.2.8" targetFramework="net461" />
-  <package id="linq2db" version="3.1.0" targetFramework="net461" />
+  <package id="linq2db" version="3.1.1" targetFramework="net461" />
   <package id="linq2db.SqlServer" version="3.1.0" targetFramework="net461" />
   <package id="Microsoft.Data.Sqlite" version="3.1.5" targetFramework="net461" />
   <package id="Microsoft.Data.Sqlite.Core" version="3.1.5" targetFramework="net461" />
diff --git a/src/Database.T4/runtimes/win-arm/native/e_sqlite3.dll b/src/Database.T4/runtimes/win-arm/native/e_sqlite3.dll
new file mode 100644
index 0000000000000000000000000000000000000000..4ab44c0d1194ccc71afb8f92aef018c8495952e2
Binary files /dev/null and b/src/Database.T4/runtimes/win-arm/native/e_sqlite3.dll differ
diff --git a/src/Database.T4/runtimes/win-x64/native/e_sqlite3.dll b/src/Database.T4/runtimes/win-x64/native/e_sqlite3.dll
new file mode 100644
index 0000000000000000000000000000000000000000..fee89528e5b18f17353cd2d9ab91e7e89a830208
Binary files /dev/null and b/src/Database.T4/runtimes/win-x64/native/e_sqlite3.dll differ
diff --git a/src/Database.T4/runtimes/win-x86/native/e_sqlite3.dll b/src/Database.T4/runtimes/win-x86/native/e_sqlite3.dll
new file mode 100644
index 0000000000000000000000000000000000000000..3cbd9eb1e4d43b1904e4d4cf073357fbb406847d
Binary files /dev/null and b/src/Database.T4/runtimes/win-x86/native/e_sqlite3.dll differ
diff --git a/src/Database.Tests/Database.Tests.csproj b/src/Database.Tests/Database.Tests.csproj
index cd4e86b662ce9dba75e7da469bc22cbcb4794bb7..707127c69b0b6981c2681e067d05cbbf8ce1c3b3 100644
--- a/src/Database.Tests/Database.Tests.csproj
+++ b/src/Database.Tests/Database.Tests.csproj
@@ -43,8 +43,8 @@
     <Reference Include="Coscine.Database.Helpers, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
       <HintPath>..\packages\Coscine.Database.Helpers.1.1.0\lib\net461\Coscine.Database.Helpers.dll</HintPath>
     </Reference>
-    <Reference Include="Coscine.Migrations, Version=1.7.0.0, Culture=neutral, processorArchitecture=MSIL">
-      <HintPath>..\packages\Coscine.Migrations.1.7.0\lib\net461\Coscine.Migrations.dll</HintPath>
+    <Reference Include="Coscine.Migrations, Version=1.8.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\Coscine.Migrations.1.8.0-topic-1051-basic0005\lib\net461\Coscine.Migrations.dll</HintPath>
     </Reference>
     <Reference Include="FluentMigrator, Version=3.2.8.0, Culture=neutral, PublicKeyToken=aacfc7de5acabf05, processorArchitecture=MSIL">
       <HintPath>..\packages\FluentMigrator.3.2.8\lib\net461\FluentMigrator.dll</HintPath>
@@ -189,8 +189,10 @@
     <Compile Include="TestCoscineDB.cs" />
   </ItemGroup>
   <ItemGroup>
+    <None Include="amd64\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest" />
     <None Include="app.config" />
     <None Include="packages.config" />
+    <None Include="x86\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest" />
   </ItemGroup>
   <ItemGroup>
     <WCFMetadata Include="Connected Services\" />
@@ -201,6 +203,27 @@
       <Name>Database</Name>
     </ProjectReference>
   </ItemGroup>
+  <ItemGroup>
+    <Content Include="amd64\Microsoft.VC90.CRT\msvcr90.dll" />
+    <Content Include="amd64\Microsoft.VC90.CRT\README_ENU.txt" />
+    <Content Include="amd64\sqlceca40.dll" />
+    <Content Include="amd64\sqlcecompact40.dll" />
+    <Content Include="amd64\sqlceer40EN.dll" />
+    <Content Include="amd64\sqlceme40.dll" />
+    <Content Include="amd64\sqlceqp40.dll" />
+    <Content Include="amd64\sqlcese40.dll" />
+    <Content Include="runtimes\win-arm\native\e_sqlite3.dll" />
+    <Content Include="runtimes\win-x64\native\e_sqlite3.dll" />
+    <Content Include="runtimes\win-x86\native\e_sqlite3.dll" />
+    <Content Include="x86\Microsoft.VC90.CRT\msvcr90.dll" />
+    <Content Include="x86\Microsoft.VC90.CRT\README_ENU.txt" />
+    <Content Include="x86\sqlceca40.dll" />
+    <Content Include="x86\sqlcecompact40.dll" />
+    <Content Include="x86\sqlceer40EN.dll" />
+    <Content Include="x86\sqlceme40.dll" />
+    <Content Include="x86\sqlceqp40.dll" />
+    <Content Include="x86\sqlcese40.dll" />
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
     <PropertyGroup>
diff --git a/src/Database.Tests/Properties/AssemblyInfo.cs b/src/Database.Tests/Properties/AssemblyInfo.cs
index a34682d3644b8049dbe6afebebffab1e083a71f6..a420645ef235cd7984d0b4484cf127ee1581791a 100644
--- a/src/Database.Tests/Properties/AssemblyInfo.cs
+++ b/src/Database.Tests/Properties/AssemblyInfo.cs
@@ -11,6 +11,6 @@ using System.Reflection;
 [assembly: AssemblyProduct("Database.Tests")]
 [assembly: AssemblyVersion("1.25.0")]
 [assembly: AssemblyFileVersion("1.25.0")]
-[assembly: AssemblyInformationalVersion("1.25.0-topic-1060-affil0001")]
+[assembly: AssemblyInformationalVersion("1.25.0-topic-1051-basic0005")]
 [assembly: AssemblyCopyright("2020 IT Center, RWTH Aachen University")]
 
diff --git a/src/Database.Tests/amd64/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest b/src/Database.Tests/amd64/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
new file mode 100644
index 0000000000000000000000000000000000000000..47bd4a04ac271f3c4ad2d7a4898b776c8ccf9ec6
--- /dev/null
+++ b/src/Database.Tests/amd64/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+    <noInheritable></noInheritable>
+    <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.30729.4148" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
+    <file name="msvcr90.dll" hashalg="SHA1" hash="1b065fdf0cb8516b0553128eae4af39c5f8eeb46"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>Vy8CgQgbu3qH5JHTK0op4kR8114=</dsig:DigestValue></asmv2:hash></file> <file name="msvcp90.dll" hashalg="SHA1" hash="45d3027d87eade77317e92994790598c755b3920"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>QTJu3Gttpt8hhCktGelNeXj4Yp8=</dsig:DigestValue></asmv2:hash></file> <file name="msvcm90.dll" hashalg="SHA1" hash="e77fd69f7c88f34329d8a95c3179f67ead330217"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>1ruqF7/L+m1tqnJVscaOtNRNHIE=</dsig:DigestValue></asmv2:hash></file>
+</assembly>
\ No newline at end of file
diff --git a/src/Database.Tests/amd64/Microsoft.VC90.CRT/README_ENU.txt b/src/Database.Tests/amd64/Microsoft.VC90.CRT/README_ENU.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fc38b3684fbe06e056c123e9ff6f576f842c8b69
Binary files /dev/null and b/src/Database.Tests/amd64/Microsoft.VC90.CRT/README_ENU.txt differ
diff --git a/src/Database.Tests/amd64/Microsoft.VC90.CRT/msvcr90.dll b/src/Database.Tests/amd64/Microsoft.VC90.CRT/msvcr90.dll
new file mode 100644
index 0000000000000000000000000000000000000000..c95e1bf213f99ca8c602a8c7dd33223215328fdb
Binary files /dev/null and b/src/Database.Tests/amd64/Microsoft.VC90.CRT/msvcr90.dll differ
diff --git a/src/Database.Tests/amd64/sqlceca40.dll b/src/Database.Tests/amd64/sqlceca40.dll
new file mode 100644
index 0000000000000000000000000000000000000000..d5d4c2044822b6c8ccb38c4086411d668fe5a0df
Binary files /dev/null and b/src/Database.Tests/amd64/sqlceca40.dll differ
diff --git a/src/Database.Tests/amd64/sqlcecompact40.dll b/src/Database.Tests/amd64/sqlcecompact40.dll
new file mode 100644
index 0000000000000000000000000000000000000000..ed061adee6683c2c5beb3fba60603617fc143275
Binary files /dev/null and b/src/Database.Tests/amd64/sqlcecompact40.dll differ
diff --git a/src/Database.Tests/amd64/sqlceer40EN.dll b/src/Database.Tests/amd64/sqlceer40EN.dll
new file mode 100644
index 0000000000000000000000000000000000000000..e19eed9bda9a4230b54d4e182426970e9985a03f
Binary files /dev/null and b/src/Database.Tests/amd64/sqlceer40EN.dll differ
diff --git a/src/Database.Tests/amd64/sqlceme40.dll b/src/Database.Tests/amd64/sqlceme40.dll
new file mode 100644
index 0000000000000000000000000000000000000000..c67fc9e6a5368b86cad0a83d7ba1ad5269ee4119
Binary files /dev/null and b/src/Database.Tests/amd64/sqlceme40.dll differ
diff --git a/src/Database.Tests/amd64/sqlceqp40.dll b/src/Database.Tests/amd64/sqlceqp40.dll
new file mode 100644
index 0000000000000000000000000000000000000000..df4440332dcec0ae168e1ac04fa26394624d7f6d
Binary files /dev/null and b/src/Database.Tests/amd64/sqlceqp40.dll differ
diff --git a/src/Database.Tests/amd64/sqlcese40.dll b/src/Database.Tests/amd64/sqlcese40.dll
new file mode 100644
index 0000000000000000000000000000000000000000..af2de5ec908ecff44965194fd70e4b782bcf69cf
Binary files /dev/null and b/src/Database.Tests/amd64/sqlcese40.dll differ
diff --git a/src/Database.Tests/packages.config b/src/Database.Tests/packages.config
index bff9d8f24371fd4d8c6db46670f6906ab5d18b5d..c2e7cbbecba714b370a3ce09a196a1de591d322a 100644
--- a/src/Database.Tests/packages.config
+++ b/src/Database.Tests/packages.config
@@ -3,7 +3,7 @@
   <package id="Consul" version="0.7.2.6" targetFramework="net461" />
   <package id="Coscine.Configuration" version="1.5.0" targetFramework="net461" />
   <package id="Coscine.Database.Helpers" version="1.1.0" targetFramework="net461" />
-  <package id="Coscine.Migrations" version="1.7.0" targetFramework="net461" />
+  <package id="Coscine.Migrations" version="1.8.0-topic-1051-basic0005" targetFramework="net461" />
   <package id="FluentMigrator" version="3.2.8" targetFramework="net461" />
   <package id="FluentMigrator.Abstractions" version="3.2.8" targetFramework="net461" />
   <package id="FluentMigrator.Extensions.Oracle" version="3.2.8" targetFramework="net461" />
diff --git a/src/Database.Tests/runtimes/win-arm/native/e_sqlite3.dll b/src/Database.Tests/runtimes/win-arm/native/e_sqlite3.dll
new file mode 100644
index 0000000000000000000000000000000000000000..4ab44c0d1194ccc71afb8f92aef018c8495952e2
Binary files /dev/null and b/src/Database.Tests/runtimes/win-arm/native/e_sqlite3.dll differ
diff --git a/src/Database.Tests/runtimes/win-x64/native/e_sqlite3.dll b/src/Database.Tests/runtimes/win-x64/native/e_sqlite3.dll
new file mode 100644
index 0000000000000000000000000000000000000000..fee89528e5b18f17353cd2d9ab91e7e89a830208
Binary files /dev/null and b/src/Database.Tests/runtimes/win-x64/native/e_sqlite3.dll differ
diff --git a/src/Database.Tests/runtimes/win-x86/native/e_sqlite3.dll b/src/Database.Tests/runtimes/win-x86/native/e_sqlite3.dll
new file mode 100644
index 0000000000000000000000000000000000000000..3cbd9eb1e4d43b1904e4d4cf073357fbb406847d
Binary files /dev/null and b/src/Database.Tests/runtimes/win-x86/native/e_sqlite3.dll differ
diff --git a/src/Database/Database.csproj b/src/Database/Database.csproj
index 616eff37c1e186d878cf2eb4dd113c6396121d3f..89e60c30591b336f86751e3c2431bf23da36910e 100644
--- a/src/Database/Database.csproj
+++ b/src/Database/Database.csproj
@@ -80,6 +80,7 @@
     <Compile Include="Models\ExternalAuthenticatorModel.cs" />
     <Compile Include="Models\ExternalIdModel.cs" />
     <Compile Include="Models\FeaturesModel.cs" />
+    <Compile Include="Models\KpiModel.cs" />
     <Compile Include="Models\ProjectQuotasModel.cs" />
     <Compile Include="Models\TOSModel.cs" />
     <Compile Include="ReturnObjects\ActivatedFeatureObject.cs" />
@@ -89,8 +90,11 @@
     <Compile Include="ReturnObjects\FeatureObject.cs" />
     <Compile Include="ReturnObjects\GitlabResourceTypeObject.cs" />
     <Compile Include="ReturnObjects\IReturnObject.cs" />
+    <Compile Include="ReturnObjects\KpiObject.cs" />
     <Compile Include="ReturnObjects\LanguageObject.cs" />
     <Compile Include="ReturnObjects\LicenseObject.cs" />
+    <Compile Include="ReturnObjects\OrganizationResourceListObject.cs" />
+    <Compile Include="ReturnObjects\OrganizationCountObject.cs" />
     <Compile Include="ReturnObjects\OrganizationObject.cs" />
     <Compile Include="ReturnObjects\ProjectObject.cs" />
     <Compile Include="ReturnObjects\ProjectQuotaObject.cs" />
diff --git a/src/Database/Models/KpiModel.cs b/src/Database/Models/KpiModel.cs
new file mode 100644
index 0000000000000000000000000000000000000000..402d5e9dc229695d6db531ee4d2415f4d2baa230
--- /dev/null
+++ b/src/Database/Models/KpiModel.cs
@@ -0,0 +1,34 @@
+using Coscine.Database.DataModel;
+using Coscine.Database.Util;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Coscine.Database.Models
+{
+    public class KpiModel : DatabaseModel<Kpi>
+    {
+        public override System.Linq.Expressions.Expression<Func<Kpi, Guid>> GetIdFromObject()
+        {
+            return (KpiObject) => KpiObject.Id;
+        }
+
+        public override LinqToDB.ITable<Kpi> GetITableFromDatabase(CoscineDB db)
+        {
+            return db.Kpis;
+        }
+
+        public override void SetObjectId(Kpi databaseObject, Guid id)
+        {
+            databaseObject.Id = id;
+        }
+
+        public int MarkAsSent(Kpi databaseObject)
+        {
+            databaseObject.SentSuccessfully = true;
+            return Update(databaseObject);
+        }
+    }
+}
diff --git a/src/Database/Models/ProjectModel.cs b/src/Database/Models/ProjectModel.cs
index ca0666dfb03f3d645e73e91ac6b66518a127c5f7..4c6982f80f076a4587f8219d4290e9e46496fa5b 100644
--- a/src/Database/Models/ProjectModel.cs
+++ b/src/Database/Models/ProjectModel.cs
@@ -170,6 +170,20 @@ namespace Coscine.Database.Models
             return project;
         }
 
+        public List<OrganizationCountObject> GetProjectCountByOrganization()
+        {
+            return DatabaseConnection.ConnectToDatabase((db) =>
+            {
+                return (from p in db.Projects
+                        join pi in db.ProjectInstitutes on p.Id equals pi.ProjectId into joinedPi
+                        from jpi in joinedPi.DefaultIfEmpty()
+
+                        where p.Deleted == false
+                        group jpi by jpi.OrganizationUrl into g
+                        select new OrganizationCountObject(g.Key, g.Count())).ToList();
+            });
+        }
+
         private String GenerateSlug(ProjectObject projectObject)
         {
             // create slug for project
diff --git a/src/Database/Models/ResourceModel.cs b/src/Database/Models/ResourceModel.cs
index b04bab90b8adf9786ea52164ccc3740633f38a2c..061633269c32f48811bbefd57493ac3c5ece3836 100644
--- a/src/Database/Models/ResourceModel.cs
+++ b/src/Database/Models/ResourceModel.cs
@@ -72,6 +72,38 @@ namespace Coscine.Database.Models
             return Delete(resource);
         }
 
+        public List<OrganizationCountObject> GetRDSBucketCountByOrganization()
+        {
+            var resourceListByOrganization = GetRDSResourceListByOrganization();
+            var list = new List<OrganizationCountObject>();
+            foreach(OrganizationResourceListObject rlo in resourceListByOrganization)
+            {
+                list.Add(new OrganizationCountObject(rlo.Url, rlo.Resources.Count));
+            }
+            return list;
+        }
+
+        public List<OrganizationResourceListObject> GetRDSResourceListByOrganization()
+        {
+            return DatabaseConnection.ConnectToDatabase((db) =>
+            {
+                return (from r in db.Resources
+                        join pr in db.ProjectResources on r.Id equals pr.ResourceId into joinedPr
+                        from jpr in joinedPr.DefaultIfEmpty()
+                        join p in db.Projects on jpr.ProjectId equals p.Id into joinedP
+                        from jp in joinedP.DefaultIfEmpty()
+                        join pi in db.ProjectInstitutes on jp.Id equals pi.ProjectId into joinedPi
+                        from jpi in joinedPi.DefaultIfEmpty()
+                        join rt in db.ResourceTypes on r.TypeId equals rt.Id into joinedRt
+                        from jrt in joinedRt.DefaultIfEmpty()
+
+                        where jp.Deleted == false &&
+                        jrt.DisplayName == "rds"
+                        group r by jpi.OrganizationUrl into g
+                        select new OrganizationResourceListObject(g.Key, g.ToList())).ToList();
+            });
+        }
+
         private void SetResourceTypeObject(Resource resource, JObject resourceTypeOption)
         {
             if (resource.Type.DisplayName == "rds")
diff --git a/src/Database/Models/UserModel.cs b/src/Database/Models/UserModel.cs
index fec409b5ab70404fbe26b65ea2497649437b621b..eb6cfd846b56da74d20d1ec630483ddefa62c3dd 100644
--- a/src/Database/Models/UserModel.cs
+++ b/src/Database/Models/UserModel.cs
@@ -1,5 +1,6 @@
 using Coscine.Database.DataModel;
 using Coscine.Database.ReturnObjects;
+using Coscine.Database.Util;
 using LinqToDB;
 using System;
 using System.Collections.Generic;
@@ -89,6 +90,16 @@ namespace Coscine.Database.Models
             return Update(user);
         }
 
+        public List<Guid> GetActiveUserIds()
+        {
+            return DatabaseConnection.ConnectToDatabase((db) =>
+            {
+                return (from u in db.Users
+                        join tos in db.TOSAccepteds on u.Id equals tos.UserId
+                        select u.Id).Distinct().ToList();
+            });
+        }
+
         private void SetDisciplines(User user, IEnumerable<DisciplineObject> disciplines)
         {
             UserDisciplineModel userDisciplineModel = new UserDisciplineModel();
diff --git a/src/Database/Properties/AssemblyInfo.cs b/src/Database/Properties/AssemblyInfo.cs
index 3567a65ee0444d7bb88bb1d485a9173ad499112f..45d0cc34b3dfc338a4daffc6293461bfbc0be55b 100644
--- a/src/Database/Properties/AssemblyInfo.cs
+++ b/src/Database/Properties/AssemblyInfo.cs
@@ -11,6 +11,6 @@ using System.Reflection;
 [assembly: AssemblyProduct("Database")]
 [assembly: AssemblyVersion("1.25.0")]
 [assembly: AssemblyFileVersion("1.25.0")]
-[assembly: AssemblyInformationalVersion("1.25.0-topic-1060-affil0001")]
+[assembly: AssemblyInformationalVersion("1.25.0-topic-1051-basic0005")]
 [assembly: AssemblyCopyright("2020 IT Center, RWTH Aachen University")]
 
diff --git a/src/Database/ReturnObjects/KpiObject.cs b/src/Database/ReturnObjects/KpiObject.cs
new file mode 100644
index 0000000000000000000000000000000000000000..880dd20baf9d7dc62d98fd944e4028f431ffd1fe
--- /dev/null
+++ b/src/Database/ReturnObjects/KpiObject.cs
@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace Coscine.Database.ReturnObjects
+{
+    public class KpiObject
+    {
+        public Guid Id { get; set; }
+        public string MeasurementID { get; set; }
+        public string Ikz { get; set; }
+        public double? Value { get; set; }
+        public DateTime? Start { get; set; }
+        public DateTime? End { get; set; }
+        public string AdditionalInfo { get; set; }
+        public string AdditionalInfo1 { get; set; }
+        public string AdditionalInfo2 { get; set; }
+        public string AdditionalInfo3 { get; set; }
+        public string AdditionalInfo4 { get; set; } 
+        public string AdditionalInfo5 { get; set; }
+        public bool SentSuccessfully { get; set; } 
+
+        public KpiObject(Guid id, string measurementId, string ikz, double value, DateTime start, DateTime end, string additionalInfo = "", string additionalInfo1 = "", string additionalInfo2 = "", string additionalInfo3 = "", string additionalInfo4 = "", string additionalInfo5 = "", bool sentSuccessfully = false)
+        {
+            Id = id;
+            MeasurementID = measurementId;
+            Ikz = ikz;
+            Value = value;
+            Start = start;
+            End = end;
+            AdditionalInfo = additionalInfo;
+            AdditionalInfo1 = additionalInfo1;
+            AdditionalInfo2 = additionalInfo2;
+            AdditionalInfo3 = additionalInfo3;
+            AdditionalInfo4 = additionalInfo4;
+            AdditionalInfo5 = additionalInfo5;
+            SentSuccessfully = sentSuccessfully;
+        }
+    }
+}
diff --git a/src/Database/ReturnObjects/OrganizationCountObject.cs b/src/Database/ReturnObjects/OrganizationCountObject.cs
new file mode 100644
index 0000000000000000000000000000000000000000..31d7e9c7a1fb5a701781e22903cefaaa246a064b
--- /dev/null
+++ b/src/Database/ReturnObjects/OrganizationCountObject.cs
@@ -0,0 +1,17 @@
+using System;
+
+namespace Coscine.Database.ReturnObjects
+{
+    [Serializable]
+    public class OrganizationCountObject : IReturnObject
+    {
+        public string Url { get; set; }
+        public int Count { get; set; }
+
+        public OrganizationCountObject(string url, int count)
+        {
+            Url = url;
+            Count = count;
+        }
+    }
+}
diff --git a/src/Database/ReturnObjects/OrganizationResourceListObject.cs b/src/Database/ReturnObjects/OrganizationResourceListObject.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2e601433e7fee55d0c60c775578fac9c052f2311
--- /dev/null
+++ b/src/Database/ReturnObjects/OrganizationResourceListObject.cs
@@ -0,0 +1,19 @@
+using Coscine.Database.DataModel;
+using System;
+using System.Collections.Generic;
+
+namespace Coscine.Database.ReturnObjects
+{
+    [Serializable]
+    public class OrganizationResourceListObject : IReturnObject
+    {
+        public string Url { get; set; }
+        public List<Resource> Resources { get; set; }
+
+        public OrganizationResourceListObject(string url, List<Resource> resources)
+        {
+            Url = url;
+            Resources = resources;
+        }
+    }
+}