{"id":27288485,"url":"https://github.com/retrodad0001/easydbmigrator","last_synced_at":"2025-04-11T20:57:54.574Z","repository":{"id":39833680,"uuid":"405328641","full_name":"Retrodad0001/EasyDbMigrator","owner":"Retrodad0001","description":"EasyDBMigrator - making SQL and PostgreSQL database migrations and integration testing easier with legacy systems","archived":false,"fork":false,"pushed_at":"2025-03-23T13:19:09.000Z","size":1024,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-11T20:57:48.916Z","etag":null,"topics":["database","microsoft","migation","posrgresql","sql-server"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Retrodad0001.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-11T08:46:38.000Z","updated_at":"2025-03-23T13:19:12.000Z","dependencies_parsed_at":"2024-01-17T00:01:05.557Z","dependency_job_id":"d8f7fa97-1ecf-40e6-a3d1-1f2c7e19aae4","html_url":"https://github.com/Retrodad0001/EasyDbMigrator","commit_stats":{"total_commits":341,"total_committers":2,"mean_commits":170.5,"dds":"0.0029325513196480912","last_synced_commit":"7cfd5359b1e65308f3eeaecd2ae74ee4f7493ce2"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Retrodad0001%2FEasyDbMigrator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Retrodad0001%2FEasyDbMigrator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Retrodad0001%2FEasyDbMigrator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Retrodad0001%2FEasyDbMigrator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Retrodad0001","download_url":"https://codeload.github.com/Retrodad0001/EasyDbMigrator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248480478,"owners_count":21110936,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","microsoft","migation","posrgresql","sql-server"],"created_at":"2025-04-11T20:57:53.710Z","updated_at":"2025-04-11T20:57:54.566Z","avatar_url":"https://github.com/Retrodad0001.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Latest news and Roadmap\n\n## 4.0.x (the latest release)\n- add support for .net 9 and removed the not supported .net versions\n- is AOT compatible\n\n! from version 4.0.2 on EasyDBMigrator will not use the Fluent Assertions package for internal testing. The reason is that Fluent Assertions is a commercial product now. EasyDBMigration will only use non-commercial opensource software.\n\n## 3.0.x (the latest release)\n- add support for .net 8 and\n- monthly updates of all packages for stability and security\n\n## 2.0.x\n- add support for .net 7\n- monthly update of all packages for stability and security\n\n# INFO:\n\n### Action (jobs):\n[![Build](https://github.com/Retrodad0001/EasyDbMigrator/actions/workflows/BuildTestDebug.yml/badge.svg)](https://github.com/Retrodad0001/EasyDbMigrator/actions/workflows/BuildTestDebug.yml)\n\n[![Build](https://github.com/Retrodad0001/EasyDbMigrator/actions/workflows/BuildRelease.yml/badge.svg)](https://github.com/Retrodad0001/EasyDbMigrator/actions/workflows/BuildRelease.yml)\n\n[![Build](https://github.com/Retrodad0001/EasyDbMigrator/actions/workflows/PackageAndReleaseMasterToNuGet.yml/badge.svg)](https://github.com/Retrodad0001/EasyDbMigrator/actions/workflows/PackageAndReleaseMasterToNuGet.yml)\n\n[![Build](https://github.com/Retrodad0001/EasyDbMigrator/actions/workflows/codeql.yml/badge.svg)](https://github.com/Retrodad0001/EasyDbMigrator/actions/workflows/codeql.yml)\n\n### Code statistics:\n[![codecov](https://codecov.io/gh/Retrodad0001/easydbmigrator/branch/master/graph/badge.svg?token=JWYWLP98IW)](https://codecov.io/gh/Retrodad0001/easydbmigrator)\n\n### More info:\n\n[![NuGet](https://img.shields.io/nuget/v/Retrodad.EasyDbMigrator.svg)](https://www.nuget.org/packages/Retrodad.EasyDbMigrator/) \n[![Nuget](https://img.shields.io/nuget/dt/Retrodad.EasyDbMigrator.svg)](https://www.nuget.org/packages/Retrodad.EasyDbMigrator/)\n\n\n# EasyDBMigrator - making database migrations and integration testing easier\n\n## What is EasyDBMigrator?\n\nEasyDBMigrator is an open-source database migration framework. It strongly favors simplicity and ease of use for automatic CI/CD strategies, integration testing scenarios and easy integration in your own code.\n  \n## What do we want to accomplish?\n\n1. Make it easy to integrate Microsoft SQL migrations in your CI/CD flows\n2. Make it easy to integrate Postgre SQL migrations in your CI/CD flows\n5. Make it easy to perform manual Microsoft SQL migrations\n6. Make it easy to perform manual Postgre SQL migrations\n7. Make it easy to integrate this package into your own code/tool\n8. Provide examples of how to write unit and integration tests (feel free to give me code feedback or for a good discussion on testing)\n\n## Get started with EasyDBMigrator :\n\n### using easyDbMigrator for integration testing:\n\n        private async Task RunMigrations()\n        {\n            //Make sure you use the correct naming in your scripts, like:\n            // 20210926_001_AddEquipmentTable.sql --\u003e script are ordered by date and then per sequence number. In this case, '001' is the sequence number.\n            //Make sure to set the BUILD-ACTION property of every migration SQL script to EMBEDDED RESOURCE\n            const string databaseName = \"WorkoutIntegrationTests\";\n            \n            //Make sure that the 'Database =  xxxx;' parameter is excluded in the connection-string\n            const string connectionstring = \"some fancy connectionstring without database param\";\n            MigrationConfiguration config = new MigrationConfiguration(connectionString: connectionstring, databaseName: databaseName);\n\n            //for writing the logging output from EasyDBMigrator to the test explorer output window\n            var logger = XUnitLoghelper.CreateLogger\u003cDatabaseTests\u003e(_testOutputHelper);\n            Mock\u003cIDataTimeHelper\u003e datetimeHelperMock = new Mock\u003cIDateTimeHelper\u003e();\n\n            DbMigrator migrator = DbMigrator.CreateForLocalIntegrationTesting(migrationConfiguration: config\n                  , logger: loggerMock.Object\n                  , dateTimeHelperMock: datetimeHelperMock.Object\n                  , databaseConnector: new MicrosoftSqlConnector()); \n            //can also use the PostgreSqlConnector to connect to PostgreSQL instead of Microsoft Sql Server\n\n            bool succeededDeletingDatabase = await migrator.TryDeleteDatabaseIfExistAsync(migrationConfiguration: config\n                    , cancellationToken: token);\n                _ = succeededDeletingDatabase.Should().BeTrue();\n\n            bool succeededRunningMigrations = await migrator.TryApplyMigrationsAsync(typeOfClassWhereScriptsAreLocated: typeof(HereTheSQLServerScriptsCanBeFound)\n                    , migrationConfiguration: config\n                    , cancellationToken: token);\n                _ = succeededRunningMigrations.Should().BeTrue();\n            \n            //download the code if you want to see examples of integration testing with easyDbMigrator\n        }\n\n## FAQ\n\n\n## Alternatives\nhttps://github.com/erikbra/grate\n\nhttps://github.com/fluentmigrator/fluentmigrator\n\n## License\nFree to use\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fretrodad0001%2Feasydbmigrator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fretrodad0001%2Feasydbmigrator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fretrodad0001%2Feasydbmigrator/lists"}