private static void ApplyDatabaseMigrations(IApplicationBuilder app) { using (var serviceScope = app.ApplicationServices.GetRequiredService <IServiceScopeFactory>().CreateScope()) { using (var context = serviceScope.ServiceProvider.GetService <ApplicationDbContext>()) { context?.Database.Migrate(); var seeder = new SeedHelper(context); seeder.SeedIfEmpty(); } } }
public static void Main(string[] args) { var host = BuildWebHost(args); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; var context = services.GetRequiredService <DesignDbContext>(); SeedHelper.Initialize(services).Wait(); host.Run(); } }
public void SubArcticWhen25IsRolled() { var tensSeed = d10Returns2; var onesSeed = d10Returns5; var seeds = new[] { tensSeed, onesSeed }; var mockSeedGenerator = SeedHelper.GetMockSeedGenerator(seeds); var kingdomClimate = new KingdomClimate(mockSeedGenerator.Object); var kingdomClimateResult = kingdomClimate.GetRandomTableResult(); var expectedKingdomClimateResult = "Sub-arctic"; Assert.AreEqual(expectedKingdomClimateResult, kingdomClimateResult); }
public void SuperTropicalWhen00IsRolled() { var tensSeed = d10Returns0; var onesSeed = d10Returns0; var seeds = new[] { tensSeed, onesSeed }; var mockSeedGenerator = SeedHelper.GetMockSeedGenerator(seeds); var kingdomClimate = new KingdomClimate(mockSeedGenerator.Object); var kingdomClimateResult = kingdomClimate.GetRandomTableResult(); var expectedKingdomClimateResult = "Super-tropical"; Assert.AreEqual(expectedKingdomClimateResult, kingdomClimateResult); }
public void MajorLakeWhen20IsRolled() { var tensSeed = d10Returns2; var onesSeed = d10Returns0; var seeds = new[] { tensSeed, onesSeed }; var mockSeedGenerator = SeedHelper.GetMockSeedGenerator(seeds); var seasAndRivers = new SeasAndRivers(mockSeedGenerator.Object); var seaAndRiverResult = seasAndRivers.GetRandomTableResult(); var expectedseaAndRiverResult = "Major Lake"; Assert.AreEqual(expectedseaAndRiverResult, seaAndRiverResult); }
public void CoastalOrPenninsulaWhen19IsRolled() { var tensSeed = d10Returns1; var onesSeed = d10Returns9; var seeds = new[] { tensSeed, onesSeed }; var mockSeedGenerator = SeedHelper.GetMockSeedGenerator(seeds); var seasAndRivers = new SeasAndRivers(mockSeedGenerator.Object); var seaAndRiverResult = seasAndRivers.GetRandomTableResult(); var expectedseaAndRiverResult = "Coastal or Penninsula"; Assert.AreEqual(expectedseaAndRiverResult, seaAndRiverResult); }
public void NoSignificantWaterWhen99IsRolled() { var tensSeed = d10Returns9; var onesSeed = d10Returns9; var seeds = new[] { tensSeed, onesSeed }; var mockSeedGenerator = SeedHelper.GetMockSeedGenerator(seeds); var seasAndRivers = new SeasAndRivers(mockSeedGenerator.Object); var seaAndRiverResult = seasAndRivers.GetRandomTableResult(); var expectedseaAndRiverResult = "No Significant Water"; Assert.AreEqual(expectedseaAndRiverResult, seaAndRiverResult); }
public void HistoricalWhen00IsRolled() { var tensSeed = d10Returns0; var onesSeed = d10Returns0; var d8Seed = 0; var seeds = new[] { tensSeed, onesSeed, d8Seed }; var mockSeedGenerator = SeedHelper.GetMockSeedGenerator(seeds); var characteristics = new Characteristics(mockSeedGenerator.Object); var characteristic = characteristics.GetWorldHook().CharacteristicType; var expectedCharacteristic = "Historical"; Assert.AreEqual(expectedCharacteristic, characteristic); }
private void SeedData(ModelBuilder modelBuilder) { List <Speciality> specialityList = SeedHelper.ParseGeneratedFile <Speciality>(SpecialitiesFileName); List <Doctor> doctorList = SeedHelper.ParseGeneratedFile <Doctor>(DoctorFileName); List <Address> addressList = SeedHelper.ParseGeneratedFile <Address>(AddressesFileName); List <Hospital> hospitalList = SeedHelper.ParseGeneratedFile <Hospital>(HospitalsFileName); List <HospitalDoctor> hospitalDoctorList = SeedHelper.ParseGeneratedFile <HospitalDoctor>(HospitalDoctorsFileName); List <HospitalSpeciality> hospitalSpecialityList = SeedHelper.ParseGeneratedFile <HospitalSpeciality>(HospitalSpecialityFileName); modelBuilder.Entity <Speciality>().HasData(specialityList); modelBuilder.Entity <Doctor>().HasData(doctorList); modelBuilder.Entity <Address>().HasData(addressList); modelBuilder.Entity <Hospital>().HasData(hospitalList); modelBuilder.Entity <HospitalDoctor>().HasData(hospitalDoctorList); modelBuilder.Entity <HospitalSpeciality>().HasData(hospitalSpecialityList); }
public override void PostInitialize() { using (var scope = IocManager.CreateScope()) { var configurationAccessor = IocManager.Resolve <IAppConfigurationAccessor>(); if (!SkipDbSeed && scope.Resolve <DatabaseCheckHelper>().Exist(configurationAccessor.Configuration["ConnectionStrings:Default"])) { //系统启动时自动执行迁移 if (Convert.ToBoolean(configurationAccessor.Configuration["Database:AutoMigrate"] ?? "true") && !configurationAccessor.Configuration["ConnectionStrings:Default"].IsNullOrEmpty()) { scope.Resolve <MultiTenantMigrateExecuter>().Run(); } SeedHelper.SeedHostDb(IocManager); } } }
protected override void Seed(AbpCoreEf6SampleDbContext context) { context.DisableAllFilters(); if (Tenant == null) { //Host seed SeedHelper.SeedHostDb(context); } else { //You can add seed for tenant databases and use Tenant property... } context.SaveChanges(); }
private List <Customer> BuildCustomerList(int nCustomers) { var customers = new List <Customer>(); for (var i = 1; i <= nCustomers; i++) { var name = SeedHelper.MakeCustomerName(); customers.Add(new Customer { Id = i, Name = name, Email = SeedHelper.MakeCustomerEmail(name), State = SeedHelper.MakeCustomerState() }); } return(customers); }
/// <summary> /// Creates and seeds a new part. /// </summary> /// <param name="item">The item this part should belong to.</param> /// <param name="roleId">The optional part role ID.</param> /// <param name="factory">The part seeder factory. This is used /// for layer parts, which need to seed a set of fragments.</param> /// <returns>A new part.</returns> /// <exception cref="ArgumentNullException">item</exception> public override IPart GetPart(IItem item, string roleId, PartSeederFactory factory) { if (item == null) { throw new ArgumentNullException(nameof(item)); } MsContentsPart part = new MsContentsPart(); SetPartMetadata(part, roleId, item); int count = Randomizer.Seed.Next(1, 3 + 1); for (int n = 1; n <= count; n++) { int sn = n * 2; part.Contents.Add(new Faker <MsContent>() .RuleFor(c => c.Start, f => new MsLocation { N = sn, S = sn % 2 == 0? "v" : "r", L = f.Random.Number(1, 20) }) .RuleFor(c => c.End, f => new MsLocation { N = (sn + 1), S = (sn + 1) % 2 == 0 ? "v" : "r", L = f.Random.Number(1, 20) }) .RuleFor(c => c.Work, f => $"{f.Lorem.Word()}.{f.Lorem.Word()}") .RuleFor(c => c.Location, f => f.Lorem.Random.Number(1, 24) + "." + f.Lorem.Random.Number(1, 100)) .RuleFor(c => c.Title, f => f.Lorem.Sentence(3)) .RuleFor(c => c.Incipit, f => f.Lorem.Sentence(5, 3)) .RuleFor(c => c.Explicit, f => f.Lorem.Sentence(5, 3)) .RuleFor(c => c.Note, f => f.Random.Bool(0.2f)? f.Lorem.Sentence() : null) .RuleFor(c => c.Editions, SeedHelper.GetDocReferences(1, 3)) .Generate()); } return(part); }