public static void BuildDatabaseSchema(IDbConnection connection) { connection.Execute(sql_m0_migrations_create); var executedMigrations = connection.Query <string>(@"SELECT name FROM migrations"); foreach (var unExecutedMigration in MigrationPath.Where(x => !executedMigrations.Contains(x.Key))) { foreach (var command in unExecutedMigration.Value) { connection.Execute(command); } connection.Execute(@"INSERT INTO migrations (name, execution_date) VALUES (@Name, CURRENT_TIMESTAMP)", new { Name = unExecutedMigration.Key }); } }