in TailwindTraders.Website/Source/Tailwind.Traders.Web/Standalone/Data/DatabaseInitializer.cs [26:57]
public async Task Seed()
{
if (string.IsNullOrEmpty(connectionString))
{
logger.LogInformation("SQL connection string empty, skipping seeding.");
return;
}
logger.LogInformation("Checking if database needs seeding...");
using var conn = new SqlConnection(connectionString);
await conn.OpenAsync();
if (await IsDatabaseEmpty(conn))
{
await CreateBrandsTable(conn);
await SeedTable(conn, "Brands", "https://raw.githubusercontent.com/microsoft/TailwindTraders-Backend/main/Source/Services/Tailwind.Traders.Product.Api/Setup/ProductBrands.csv");
await CreateTypesTable(conn);
await SeedTable(conn, "Types", "https://raw.githubusercontent.com/microsoft/TailwindTraders-Backend/main/Source/Services/Tailwind.Traders.Product.Api/Setup/ProductTypes.csv");
await CreateTagsTable(conn);
await SeedTable(conn, "Tags", "https://raw.githubusercontent.com/microsoft/TailwindTraders-Backend/main/Source/Services/Tailwind.Traders.Product.Api/Setup/ProductTags.csv");
await CreateFeaturesTable(conn);
await SeedTable(conn, "Features", "https://raw.githubusercontent.com/microsoft/TailwindTraders-Backend/main/Source/Services/Tailwind.Traders.Product.Api/Setup/ProductFeatures.csv");
await CreateProductsTable(conn);
await SeedTable(conn, "Products", "https://raw.githubusercontent.com/microsoft/TailwindTraders-Backend/main/Source/Services/Tailwind.Traders.Product.Api/Setup/ProductItems.csv");
logger.LogInformation("Seeding completed.");
}
else
{
logger.LogInformation("Seeding not required.");
}
conn.Close();
}