Skip to content

Commit

Permalink
Merge pull request #5 from jafin/fix/sqlite-exhibitsafehandler-577
Browse files Browse the repository at this point in the history
fix(driver): Resolve Exception during PerformUpgrade using LogScriptOutput #577
  • Loading branch information
droyad authored Jul 29, 2024
2 parents 3077cb2 + 0cd4c56 commit f9aee5d
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 5 deletions.
3 changes: 2 additions & 1 deletion src/Sample/Program.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using Microsoft.Data.Sqlite;

namespace SQLiteSampleApplication
{
Expand Down Expand Up @@ -55,7 +56,7 @@ static void TemporaryFileDb()

static void PermanentFileDb()
{
Microsoft.Data.Sqlite.SqliteConnection connection = new("Data Source=dbup.db");
SqliteConnection connection = new("Data Source=dbup.db");

using (var database = new DbUp.SQLite.Helpers.SharedConnection(connection))
{
Expand Down
30 changes: 26 additions & 4 deletions src/Tests/SQLiteSupportTests.cs
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
using Microsoft.Data.Sqlite;
using Shouldly;
using Shouldly;
using Xunit;

namespace DbUp.SQLite.Tests
{
public class SQLiteSupportTests
{
static readonly string dbFilePath = Path.Combine(Environment.CurrentDirectory, "test.db");
static readonly string DbFilePath = Path.Combine(Environment.CurrentDirectory, "test.db");

[Fact]
public void CanUseSQLite()
{
var connectionString = $"Data Source={dbFilePath}";
var connectionString = $"Data Source={DbFilePath}";

var upgrader = DeployChanges.To
.SQLiteDatabase(connectionString)
Expand All @@ -23,5 +22,28 @@ public void CanUseSQLite()
result.Error.ShouldBe(null);
result.Successful.ShouldBe(true);
}

/// <summary>
/// Test for https://github.com/DbUp/dbup-sqlite/issues/2
/// </summary>
[Fact]
public void DoesNotExhibitSafeHandleError()
{
var connectionString = "Data source=:memory:";

var upgrader =
DeployChanges.To
.SQLiteDatabase(connectionString)
.WithScript("Script001", @"
create table test (
contact_id INTEGER PRIMARY KEY
);
")
.LogScriptOutput()
.LogToConsole()
.Build();
var result = upgrader.PerformUpgrade();
result.Successful.ShouldBeTrue();
}
}
}
2 changes: 2 additions & 0 deletions src/dbup-sqlite/Helpers/InMemorySQLiteDatabase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ public InMemorySQLiteDatabase()
{
DataSource = ":memory:",
DefaultTimeout = 5,
Mode = SqliteOpenMode.Memory,
ConnectionString = "PRAGMA encoding='UTF-16'; PRAGMA journal_mode='MEMORY';"
};
ConnectionString = connectionStringBuilder.ToString();

Expand Down

0 comments on commit f9aee5d

Please sign in to comment.