public void GenerateAllTest()
        {
            using (var merge = new MergeScriptGeneration(ConnectionStringName))
            {
                //All
                merge.OutputFolder = "Output/AllOption";
                merge.GenerateAll(MergeScriptOption.All);
                Assert.IsTrue(System.IO.Directory.GetFiles(merge.OutputFolder).Length > 1);

                //Insert Only
                merge.OutputFolder = "Output/Insert";
                merge.GenerateAll(MergeScriptOption.Insert);
                Assert.IsTrue(System.IO.Directory.GetFiles(merge.OutputFolder).Length > 1);

                //Update Only
                merge.OutputFolder = "Output/Update";
                merge.GenerateAll(MergeScriptOption.Update);
                Assert.IsTrue(System.IO.Directory.GetFiles(merge.OutputFolder).Length > 1);

                //Update Only
                merge.OutputFolder = "Output/Delete";
                merge.GenerateAll(MergeScriptOption.Delete);
                Assert.IsTrue(System.IO.Directory.GetFiles(merge.OutputFolder).Length > 1);

                //Update Only
                merge.OutputFolder = "Output/Default";
                merge.GenerateAll();
                Assert.IsTrue(System.IO.Directory.GetFiles(merge.OutputFolder).Length > 1);
            }
        }
 public void GenerateTest()
 {
     using (var merge = new MergeScriptGeneration(ConnectionStringName))
     {
         merge.Generate(MergeScriptOption.All, "dbo.Categories", "Customers", "dbo.[Employees]");
         Assert.IsTrue(System.IO.Directory.GetFiles(merge.OutputFolder).Length > 1);
     }
 }
Beispiel #3
0
        private async void btn_Generate_Click(object sender, EventArgs e)
        {
            if (!this.ValidateData())
            {
                return;
            }
            this.EnabledControls(false);

            var tables           = this.listView1.CheckedItems.Cast <ListViewItem>().Where(i => i.Name.IsNotNullOrEmpty()).Select(i => i.Name).ToArray();
            var output           = this.directoryBrowser1.SelectedPath;
            var connectionString = this.ConnectionString;
            var option           = MergeScriptOption.Insert;

            if (this.ch_Insert.Checked)
            {
                option = MergeScriptOption.Insert;
            }
            if (this.ch_Update.Checked)
            {
                option |= MergeScriptOption.Update;
            }
            if (this.ch_Delete.Checked)
            {
                option |= MergeScriptOption.Delete;
            }

            if (System.IO.Directory.GetFiles(output, "*.sql").Length > 0 &&
                this.ShowConfirmationMessage("The output folder is not empty. Do you want to overwrite the *.sql file?") != DialogResult.Yes)
            {
                this.EnabledControls(true);
                return;
            }

            //Delete All Files in output folder.
            HBD.Framework.IO.Directory.DeleteFiles(output, "*.sql");

            using (var g = new MergeScriptGeneration(connectionString, output))
                await g.GenerateAsync(option, (status) => this.SetStatus("Generating table", status), tables);

            this.ShowInfoMessage($"Migration script had been generated for {tables.Length} tables.{Environment.NewLine}Saved location {output}");
            this.EnabledControls(true);
        }