diff --git a/src/Migrations.Tests/Properties/AssemblyInfo.cs b/src/Migrations.Tests/Properties/AssemblyInfo.cs
index 3a4339c921f3b252f621e92251b99601283499d9..60789b8fc41008c9c4f327caa1a9769cc69712a7 100644
--- a/src/Migrations.Tests/Properties/AssemblyInfo.cs
+++ b/src/Migrations.Tests/Properties/AssemblyInfo.cs
@@ -11,6 +11,6 @@ using System.Reflection;
[assembly: AssemblyProduct("Migrations.Tests")]
[assembly: AssemblyVersion("1.8.0")]
[assembly: AssemblyFileVersion("1.8.0")]
-[assembly: AssemblyInformationalVersion("1.8.0-topic-1051-basic0004")]
+[assembly: AssemblyInformationalVersion("1.8.0-topic-1125-apito0004")]
[assembly: AssemblyCopyright("2020 IT Center, RWTH Aachen University")]
diff --git a/src/Migrations.Tests/Properties/AssemblyInfo.cs.orig b/src/Migrations.Tests/Properties/AssemblyInfo.cs.orig
new file mode 100644
index 0000000000000000000000000000000000000000..2198b9c597558b3c0123d50e18fef9834f620fe4
--- /dev/null
+++ b/src/Migrations.Tests/Properties/AssemblyInfo.cs.orig
@@ -0,0 +1,20 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by Cake.
+//
+//------------------------------------------------------------------------------
+using System.Reflection;
+
+[assembly: AssemblyTitle("Migrations.Tests")]
+[assembly: AssemblyDescription("Migrations.Tests is a part of the CoScInE group.")]
+[assembly: AssemblyCompany("IT Center, RWTH Aachen University")]
+[assembly: AssemblyProduct("Migrations.Tests")]
+[assembly: AssemblyVersion("1.8.0")]
+[assembly: AssemblyFileVersion("1.8.0")]
+<<<<<<< HEAD
+[assembly: AssemblyInformationalVersion("1.8.0-topic-1125-apito0004")]
+=======
+[assembly: AssemblyInformationalVersion("1.8.0-topic-1051-basic0004")]
+>>>>>>> Product/903-ApiTokens
+[assembly: AssemblyCopyright("2020 IT Center, RWTH Aachen University")]
+
diff --git a/src/Migrations/Migrations.csproj b/src/Migrations/Migrations.csproj
index f1e62af73b9c5c2b229eb15e523255b82284e26d..f8b5cd339167d01b16ff8053715ae03e5a81d428 100644
--- a/src/Migrations/Migrations.csproj
+++ b/src/Migrations/Migrations.csproj
@@ -206,6 +206,7 @@
+
@@ -240,4 +241,4 @@
-
\ No newline at end of file
+
diff --git a/src/Migrations/Migrations.csproj.orig b/src/Migrations/Migrations.csproj.orig
new file mode 100644
index 0000000000000000000000000000000000000000..f8b5cd339167d01b16ff8053715ae03e5a81d428
--- /dev/null
+++ b/src/Migrations/Migrations.csproj.orig
@@ -0,0 +1,244 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {447E8BA5-30E3-4521-B6F6-51A064098026}
+ Library
+ Properties
+ Coscine.Migrations
+ Coscine.Migrations
+ v4.6.1
+ 512
+ true
+
+
+
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ ..\packages\Consul.0.7.2.6\lib\net45\Consul.dll
+
+
+ ..\packages\Coscine.Configuration.1.5.0\lib\net461\Coscine.Configuration.dll
+
+
+ ..\packages\Coscine.Database.Helpers.1.1.0\lib\net461\Coscine.Database.Helpers.dll
+
+
+ ..\packages\FluentMigrator.3.2.8\lib\net461\FluentMigrator.dll
+
+
+ ..\packages\FluentMigrator.Abstractions.3.2.8\lib\net461\FluentMigrator.Abstractions.dll
+
+
+ ..\packages\FluentMigrator.Extensions.Oracle.3.2.8\lib\net461\FluentMigrator.Extensions.Oracle.dll
+
+
+ ..\packages\FluentMigrator.Extensions.Postgres.3.2.8\lib\net461\FluentMigrator.Extensions.Postgres.dll
+
+
+ ..\packages\FluentMigrator.Extensions.SqlAnywhere.3.2.8\lib\net461\FluentMigrator.Extensions.SqlAnywhere.dll
+
+
+ ..\packages\FluentMigrator.Extensions.SqlServer.3.2.8\lib\net461\FluentMigrator.Extensions.SqlServer.dll
+
+
+ ..\packages\FluentMigrator.Runner.3.2.8\lib\net461\FluentMigrator.Runner.dll
+
+
+ ..\packages\FluentMigrator.Runner.Core.3.2.8\lib\net461\FluentMigrator.Runner.Core.dll
+
+
+ ..\packages\FluentMigrator.Runner.Db2.3.2.8\lib\net461\FluentMigrator.Runner.Db2.dll
+
+
+ ..\packages\FluentMigrator.Runner.Firebird.3.2.8\lib\net461\FluentMigrator.Runner.Firebird.dll
+
+
+ ..\packages\FluentMigrator.Runner.Hana.3.2.8\lib\net461\FluentMigrator.Runner.Hana.dll
+
+
+ ..\packages\FluentMigrator.Runner.Jet.3.2.8\lib\net461\FluentMigrator.Runner.Jet.dll
+
+
+ ..\packages\FluentMigrator.Runner.MySql.3.2.8\lib\net461\FluentMigrator.Runner.MySql.dll
+
+
+ ..\packages\FluentMigrator.Runner.Oracle.3.2.8\lib\net461\FluentMigrator.Runner.Oracle.dll
+
+
+ ..\packages\FluentMigrator.Runner.Postgres.3.2.8\lib\net461\FluentMigrator.Runner.Postgres.dll
+
+
+ ..\packages\FluentMigrator.Runner.Redshift.3.2.8\lib\net461\FluentMigrator.Runner.Redshift.dll
+
+
+ ..\packages\FluentMigrator.Runner.SqlAnywhere.3.2.8\lib\net461\FluentMigrator.Runner.SqlAnywhere.dll
+
+
+ ..\packages\FluentMigrator.Runner.SQLite.3.2.8\lib\net461\FluentMigrator.Runner.SQLite.dll
+
+
+ ..\packages\FluentMigrator.Runner.SqlServer.3.2.8\lib\net461\FluentMigrator.Runner.SqlServer.dll
+
+
+ ..\packages\FluentMigrator.Runner.SqlServerCe.3.2.8\lib\net461\FluentMigrator.Runner.SqlServerCe.dll
+
+
+ ..\packages\Microsoft.Data.Sqlite.Core.3.1.5\lib\netstandard2.0\Microsoft.Data.Sqlite.dll
+
+
+ ..\packages\Microsoft.Extensions.Configuration.Abstractions.2.0.1\lib\netstandard2.0\Microsoft.Extensions.Configuration.Abstractions.dll
+
+
+ ..\packages\Microsoft.Extensions.DependencyInjection.2.0.0\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.dll
+
+
+ ..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.0.0\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll
+
+
+ ..\packages\Microsoft.Extensions.Logging.2.0.1\lib\netstandard2.0\Microsoft.Extensions.Logging.dll
+
+
+ ..\packages\Microsoft.Extensions.Logging.Abstractions.2.0.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll
+
+
+ ..\packages\Microsoft.Extensions.Options.2.0.1\lib\netstandard2.0\Microsoft.Extensions.Options.dll
+
+
+ ..\packages\Microsoft.Extensions.Primitives.2.0.0\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll
+
+
+ ..\packages\SQLitePCLRaw.bundle_e_sqlite3.2.0.2\lib\net461\SQLitePCLRaw.batteries_v2.dll
+
+
+ ..\packages\SQLitePCLRaw.core.2.0.2\lib\netstandard2.0\SQLitePCLRaw.core.dll
+
+
+ ..\packages\SQLitePCLRaw.bundle_e_sqlite3.2.0.2\lib\net461\SQLitePCLRaw.nativelibrary.dll
+
+
+ ..\packages\SQLitePCLRaw.provider.dynamic_cdecl.2.0.2\lib\netstandard2.0\SQLitePCLRaw.provider.dynamic_cdecl.dll
+
+
+
+ ..\packages\System.Buffers.4.4.0\lib\netstandard2.0\System.Buffers.dll
+
+
+ ..\packages\System.ComponentModel.Annotations.4.4.1\lib\net461\System.ComponentModel.Annotations.dll
+
+
+
+
+
+ ..\packages\System.Memory.4.5.3\lib\netstandard2.0\System.Memory.dll
+
+
+
+
+ ..\packages\System.Numerics.Vectors.4.4.0\lib\net46\System.Numerics.Vectors.dll
+
+
+ ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll
+
+
+ ..\packages\System.ValueTuple.4.4.0\lib\net461\System.ValueTuple.dll
+ True
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
+
+
diff --git a/src/Migrations/Migrations/Migration202010271100ApiTokens.cs b/src/Migrations/Migrations/Migration202010271100ApiTokens.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4da3559b6323aba9d5fed279898464faaa2f357c
--- /dev/null
+++ b/src/Migrations/Migrations/Migration202010271100ApiTokens.cs
@@ -0,0 +1,28 @@
+using FluentMigrator;
+
+namespace Coscine.Migrations.Migrations
+{
+ //yyyymmddhhmm
+ [Migration(202010271100)]
+ public class Migration202010271100ApiTokens : Migration
+ {
+ public override void Down()
+ {
+ Delete.Table("ApiTokens");
+ }
+
+ public override void Up()
+ {
+ Create.Table("ApiTokens")
+ .WithColumn("Id").AsGuid().PrimaryKey().WithDefault(SystemMethods.NewGuid)
+ .WithColumn("Name").AsString().NotNullable()
+ .WithColumn("UserId").AsGuid().NotNullable()
+ .WithColumn("IssuedAt").AsDateTime().NotNullable()
+ .WithColumn("Expiration").AsDateTime().NotNullable();
+
+ Create.ForeignKey()
+ .FromTable("ApiTokens").ForeignColumn("UserId")
+ .ToTable("Users").PrimaryColumn("Id");
+ }
+ }
+}
diff --git a/src/Migrations/Properties/AssemblyInfo.cs b/src/Migrations/Properties/AssemblyInfo.cs
index a7ca2510c052bf07752c0bd6464f28d161fb9932..97acc53f7d541dcdca593f9796c5d2a95f62d899 100644
--- a/src/Migrations/Properties/AssemblyInfo.cs
+++ b/src/Migrations/Properties/AssemblyInfo.cs
@@ -11,6 +11,6 @@ using System.Reflection;
[assembly: AssemblyProduct("Migrations")]
[assembly: AssemblyVersion("1.8.0")]
[assembly: AssemblyFileVersion("1.8.0")]
-[assembly: AssemblyInformationalVersion("1.8.0-topic-1051-basic0004")]
+[assembly: AssemblyInformationalVersion("1.8.0-topic-1125-apito0004")]
[assembly: AssemblyCopyright("2020 IT Center, RWTH Aachen University")]
diff --git a/src/Migrator/Properties/AssemblyInfo.cs b/src/Migrator/Properties/AssemblyInfo.cs
index 34a8a9aaea327cc1cee4b7fb6e079db777de2df2..535556050097daeca33f2987568641d9c0ba6385 100644
--- a/src/Migrator/Properties/AssemblyInfo.cs
+++ b/src/Migrator/Properties/AssemblyInfo.cs
@@ -11,6 +11,6 @@ using System.Reflection;
[assembly: AssemblyProduct("Migrator")]
[assembly: AssemblyVersion("1.8.0")]
[assembly: AssemblyFileVersion("1.8.0")]
-[assembly: AssemblyInformationalVersion("1.8.0-topic-1051-basic0004")]
+[assembly: AssemblyInformationalVersion("1.8.0-topic-1125-apito0004")]
[assembly: AssemblyCopyright("2020 IT Center, RWTH Aachen University")]