aboutsummaryrefslogtreecommitdiff
path: root/BackEnd/Timeline/Services/DatabaseManagement/IDatabaseCustomMigration.cs
blob: a38dcb999c1881e266983fd9119ca58f42f70252 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System.Threading;
using System.Threading.Tasks;
using Timeline.Entities;

namespace Timeline.Services.DatabaseManagement
{
    public interface IDatabaseCustomMigration
    {
        string GetName();

        /// <summary>
        /// Execute the migration on database.
        /// </summary>
        /// <param name="database">The database.</param>
        /// <param name="cancellationToken">Cancellation token.</param>
        /// <remarks>
        /// Do not create transaction since the migrator will take care of transaction.
        /// </remarks>
        Task ExecuteAsync(DatabaseContext database, CancellationToken cancellationToken = default);
    }
}