예제 #1
0
        public void InitializeTest()
        {
            var settings = GlobalSettings.Instance;

            // create dacpac from sqlproj
            var builder = new SqlDbUnitTesting.Dac.Builder();

            if (!builder.Build(settings.SqlProjectFile, settings.DacpacOutputDir, settings.DacpacFileName))
            {
                throw new Exception("create dacpac failed.");
            }

            // initialize localdb
            LocalDbUtility.CreateInstance(settings.LocalDbInstanceName, settings.LocalDbVersion, true);
            LocalDbUtility.CreateDatabase(settings.LocalDbInstanceName, settings.DataBaseName);

            // publish dacpac to localdb
            var publisher = new Publisher();

            publisher.Publish(settings.ConnectionString, settings.DataBaseName, settings.DacpacFilePath);

            // Load initilize data
            var dt     = ExcelReader.Read(Path.Combine(settings.BasePath, "Initialdata.xlsx"), "Member");
            var loader = new DataLoader(settings.ConnectionString);

            loader.Load(dt, true);
        }
예제 #2
0
 private GlobalSettings()
 {
     BasePath            = Path.GetDirectoryName((Assembly.GetExecutingAssembly()).Location);
     SqlProjectFile      = GetSqlProjectFile();
     LocalDbInstanceName = ConfigurationManager.AppSettings["LocalDbInstanceName"];
     DataBaseName        = ConfigurationManager.AppSettings["DataBaseName"];
     LocalDbVersion      = ConfigurationManager.AppSettings["LocalDbVersion"];
     DacpacFileName      = ConfigurationManager.AppSettings["DacpacFileName"];
     DacpacOutputDir     = GetDacpacOutputDir();
     ConnectionString    = LocalDbUtility.GetConnectionString(LocalDbInstanceName, DataBaseName);
 }
예제 #3
0
        static void Main(string[] _)
        {
            var basePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            var projectPath    = Path.Combine(basePath, @"..\..\..\MyDataBase\MyDataBase.sqlproj");
            var dacpacDir      = Path.Combine(basePath, @"dacpac");
            var dacpacFileName = "output.dacpac";

            // Build dacpac
            Console.WriteLine("Buidling dacpac ...");
            if (!BuildDacpac(projectPath, dacpacDir, dacpacFileName, @"logs/build.log"))
            {
                Console.WriteLine(@"Generating dacpac file failed. See :logs/build.log");
                Console.WriteLine("\nPress any key to exit.");
                Console.ReadKey();
                return;
            }
            Console.WriteLine("...done. ");

            // Create SQL Server LocalDB instance
            //  Need : installing SQL Server LocalDB.
            Console.WriteLine("Creating LocalDb instance ... ");
            LocalDbUtility.CreateInstance("TestDbInstance", "13.0", true);
            LocalDbUtility.CreateDatabase("TestDbInstance", "MyTestDB");
            var connectionString = LocalDbUtility.GetConnectionString("TestDbInstance", "MyTestDB");

            Console.WriteLine("...done. ");

            // Deploy dacpac to LocalDb
            Console.WriteLine("Deploying dacpac ...");
            DeployDacpac(connectionString, "MyTestDB", Path.Combine(basePath, @"dacpac", dacpacFileName));
            Console.WriteLine("...done. ");

            Console.WriteLine("\nPress any key to exit.");
            Console.ReadKey();
        }