コード例 #1
0
		private void FillAppConfigScripts(EFAppConfigRepository context)
        {
			// fill db with sample data
            RunCommand(context, "Statistic.sql", "AppConfig");
            RunCommand(context, "DisplayTemplateMapping.sql", "AppConfig");
            RunCommand(context, "SeoUrlKeyword.sql", "AppConfig");
        }
コード例 #2
0
		public void PublishWithScope(string dbconnection, string data, bool sample, bool reduced, string scope)
		{
			string connection = dbconnection;
			SafeWriteDebug("ConnectionString: " + connection);
           
			using (var db = new EFAppConfigRepository(connection))
			{
				SqlAppConfigDatabaseInitializer initializer;

				if (sample)
				{
				    if (reduced)
				    {
                        SafeWriteVerbose("Running reduced sample scripts");
                        initializer = new SqlAppConfigReducedSampleDatabaseInitializer();
				    }
				    else
				    {
                        SafeWriteVerbose("Running sample scripts");
                        initializer = new SqlAppConfigSampleDatabaseInitializer();
				    }

				}
				else
				{
					SafeWriteVerbose("Running minimum scripts");
					initializer = new SqlAppConfigDatabaseInitializer();
				}

				initializer.Scope = scope;
				initializer.InitializeDatabase(db);
			}
		}
コード例 #3
0
        public static void Cleanup()
        {
            const string sql =
                @"IF OBJECT_ID('dbo.UniqueSequence', 'U') IS NOT NULL
                    DROP TABLE [dbo].[UniqueSequence]";
            var repository = new EFAppConfigRepository("VirtoCommerce");
            repository.Database.ExecuteSqlCommand(sql);

        }
コード例 #4
0
        public static void Initialize(TestContext context)
        {
            const string sql =
                @"IF OBJECT_ID('dbo.UniqueSequence', 'U') IS NULL
                    CREATE TABLE [dbo].[UniqueSequence]([Sequence] [nvarchar](255) NOT NULL,CONSTRAINT [PK_UniqueSequence] PRIMARY KEY CLUSTERED ([Sequence] ASC)
                    WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON))";
            var repository = new EFAppConfigRepository("VirtoCommerce");
            repository.Database.ExecuteSqlCommand(sql);

        }
コード例 #5
0
		public void Dispose()
		{
			try
			{
				// Ensure LocalDb databases are deleted after use so that LocalDb doesn't throw if
				// the temp location in which they are stored is later cleaned.
				using (var context = new EFAppConfigRepository(_databaseName))
				{
					context.Database.Delete();
				}
			}
			finally
			{
				AppDomain.CurrentDomain.SetData("DataDirectory", _previousDataDirectory);
			}
		}
コード例 #6
0
        public void Run_sequences_performance()
        {
            var repository = new EFAppConfigRepository("VirtoCommerce");
            var sequence = new SequenceService(repository);


            for (var i = 1; i < SequenceService.SequenceReservationRange; i++)
            {
                var result = sequence.GetNext("test");
                Debug.WriteLine(result);

                //This would fail if any duplicate generated
                Assert.IsFalse(GlobalNumbers.ContainsKey(result));
                GlobalNumbers.Add(result, result);

                const string sql = "INSERT UniqueSequence VALUES(@p0);";
                //This would fail if any duplicate generated beause we use primary key
                var sqlResult = repository.Database.ExecuteSqlCommand(sql, result);
                Assert.AreEqual(1,sqlResult);
            }
        }
コード例 #7
0
		private IAppConfigRepository GetRepository()
		{
			EnsureDatabaseInitialized(() => new EFAppConfigRepository(_databaseName), () => Database.SetInitializer(new SetupMigrateDatabaseToLatestVersion<EFAppConfigRepository, Configuration>()));
			var retVal = new EFAppConfigRepository(_databaseName);
			return retVal;
		}
コード例 #8
0
 public void Can_generate_sequence()
 {
     var client = new EFAppConfigRepository("VirtoCommerce");
     //var client = GetRepository();
     var sequence = new DbIdentitySequenceService(client);
     var result = sequence.GetNext("test");
     Assert.NotNull(result);
 }
コード例 #9
0
		protected override void Seed(EFAppConfigRepository context)
		{
			base.Seed(context);
			FillAppConfigScripts(context);
		}