Skip to content

Commit

Permalink
Added options for migration script timeout (#59)
Browse files Browse the repository at this point in the history
* timeout for migration script

* comment

* removed spaces

* removed spaces

* int changed to TimeSpan

* PascalCase constant

Co-authored-by: Michal Aujeský <aujesky@kros.sk>
  • Loading branch information
Michalau and Michal Aujeský authored May 21, 2020
1 parent c6c424d commit f42403e
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
9 changes: 9 additions & 0 deletions src/Migrations/MigrationOptions.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Kros.KORM.Migrations.Providers;
using System;
using System.Collections.Generic;
using System.Reflection;

Expand All @@ -9,13 +10,21 @@ namespace Kros.KORM.Migrations
/// </summary>
public class MigrationOptions
{
private const int DefaultTimeoutInSeconds = 30;

private List<IMigrationScriptsProvider> _providers = new List<IMigrationScriptsProvider>();

/// <summary>
/// List of <see cref="IMigrationScriptsProvider"/>.
/// </summary>
public IEnumerable<IMigrationScriptsProvider> Providers => _providers;

/// <summary>
/// Timeout for the migration script command.
/// If not set, default value 30s will be used.
/// </summary>
public TimeSpan Timeout { get; set; } = TimeSpan.FromSeconds(DefaultTimeoutInSeconds);

/// <summary>
/// Register new <see cref="IMigrationScriptsProvider"/>.
/// </summary>
Expand Down
1 change: 1 addition & 0 deletions src/Migrations/MigrationsRunner.cs
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ private async Task ExecuteMigrationScripts(IDatabase database, IEnumerable<Scrip
using (Data.ITransaction transaction = database.BeginTransaction())
{
var script = await scriptInfo.GetScriptAsync();
transaction.CommandTimeout = (int)_migrationOptions.Timeout.TotalSeconds;

await ExecuteMigrationScript(database, script);
await AddNewMigrationInfo(database, scriptInfo);
Expand Down

0 comments on commit f42403e

Please sign in to comment.