protected override Domain BuildDomain(DomainConfiguration configuration) { Domain domain; try { //throw new ApplicationException("Don't validate, just recreate ;)"); var validateConfig = configuration.Clone(); validateConfig.UpgradeMode = DomainUpgradeMode.Validate; domain = Domain.Build(validateConfig); } catch (Exception ex) { var recreateConfig = configuration.Clone(); recreateConfig.UpgradeMode = DomainUpgradeMode.Recreate; domain = base.BuildDomain(recreateConfig); } var shouldFill = false; using (var session = domain.OpenSession()) using (var t = session.OpenTransaction()) { var count = session.Query.All <Playlist>().Count(); if (count == 0) { shouldFill = true; } } if (shouldFill) { DataBaseFiller.Fill(domain); } return(domain); }
protected override Domain BuildDomain(DomainConfiguration configuration) { var firstTryConfig = configuration.Clone(); firstTryConfig.UpgradeMode = DomainUpgradeMode.Validate; Domain domain = null; try { //try to avoid long population domain = base.BuildDomain(firstTryConfig); ValidateTestData(domain); return domain; } catch (SchemaSynchronizationException exception) { //schemas differ isSchemaRecreated = true; domain.DisposeSafely(); } catch (TestDataInvalidException) { // schemas are the same but data in not ok // create so override existing schema and publish correct data isSchemaRecreated = true; domain.DisposeSafely(); } var secondTryConfig = configuration.Clone(); secondTryConfig.UpgradeMode = DomainUpgradeMode.Recreate; return base.BuildDomain(secondTryConfig); }
public static Domain Build(DomainConfiguration configuration, bool rebuild) { if (domain == null || rebuild) { if (rebuild) { configuration = configuration.Clone(); configuration.UpgradeMode = DomainUpgradeMode.Recreate; } try { domain = Domain.Build(configuration); } catch (Exception e) { DumpAndThrowAllExcs(e); } } if (domain != null) { //domain.SessionOpen += OnSessionOpen; } return(domain); }
protected override Domain BuildDomain(DomainConfiguration configuration) { var firstTryConfig = configuration.Clone(); firstTryConfig.UpgradeMode = DomainUpgradeMode.Validate; try { return(base.BuildDomain(firstTryConfig)); } catch (SchemaSynchronizationException) { } catch (Exception) { throw; } var secondTryConfig = configuration.Clone(); secondTryConfig.UpgradeMode = DomainUpgradeMode.Recreate; return(base.BuildDomain(secondTryConfig)); }