MssqlDBTestProvider.cs 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. using System;
  2. using System.Linq;
  3. namespace PetaPoco.Tests.Integration.Databases.MSSQL
  4. {
  5. public class MssqlDBTestProvider : DBTestProvider
  6. {
  7. private string _connectionName = "mssql";
  8. protected override string ConnectionName => _connectionName;
  9. protected override string ScriptResourceName => "PetaPoco.Tests.Integration.Scripts.MSSQLBuildDatabase.sql";
  10. public override IDatabase Execute()
  11. {
  12. EnsureDatabaseExists();
  13. return base.Execute();
  14. }
  15. public override void ExecuteBuildScript(IDatabase database, string script)
  16. {
  17. script.Split(new[] { "GO" }, StringSplitOptions.RemoveEmptyEntries).ToList().ForEach(s => { base.ExecuteBuildScript(database, s); });
  18. }
  19. private void EnsureDatabaseExists()
  20. {
  21. _connectionName = "mssql_builder";
  22. Database.Execute("IF(db_id(N'PetaPoco') IS NULL) BEGIN CREATE DATABASE[PetaPoco] END");
  23. _connectionName = "mssql";
  24. }
  25. }
  26. }