Example #1
0
        public async Task InitializeAsync()
        {
            (_containerId, _port) = await DockerSqlDatabaseUtilities.StartSqlServerContainer();

            _config = CreateConfiguration();
            var seedOptions = new DatabaseInitOptions();

            _config.Bind(nameof(DatabaseInitOptions), seedOptions);

            var connectionString = _config.GetConnectionString(seedOptions.ConnectionName);

            if (connectionString == null)
            {
                throw new InvalidOperationException("Connection String not found");
            }

            var sb = new SqlConnectionStringBuilder(connectionString);

            _database = sb.InitialCatalog;

            using (var conn = DockerSqlDatabaseUtilities.OpenConnection(_port))
            {
                await CreateDatabase(conn, _database);
                await RunInitializationScripts(conn, seedOptions.InitializationScriptPaths);
            }

            await OnInitializedAsync();
        }
Example #2
0
 public ToolInitDatabase(DatabaseInitOptions options, IDAFactory factory)
 {
     this.DAFactory = factory;
 }