Skip to content

adampaquette/DataCloner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DataCloner (Currently a work in progress)

Tool built with .NET Core (API/GUI) for cloning SQL data precisely. Starting rows with their dependencies and their derivatives.

Overview

This software's core is composed of a recursive algorithm based on a starting row of a database and then will recover all of the dependencies and the derived from the row. In the end, it is an integral record that can be saved in a file for future loading or can be executed directly into a database with the same table structure.

Who is the application for?

  • To all companies doing development and having a database.
  • For all developers, analysts and pilots testing production problems.
  • For developers wanting to automate test domains to reduce ridiculously amount of time.
  • For DBAs  

Options

  • Duplication between databases. The copy can be made in the same db or an external one.
  • Support cloning between multi-server source and destination. For systems based on a multitude of databases.
  • Save / load the resultset to / from a file. To recharge data during testing.
  • Backup Point. Restoration of records due to data evolution.
  • Multiple backup points for the same dataset. Allows you to load a case at a specific step. (Shapshot)
  • Configurable joins between tables in databases /servers.
  • Can Load with or without derivatives data.
  • Load one to multiple lines from one to several starting tables.
  • Usable in command line.
  • Jamming of sensitive data.
  • Support of similar source / destination tables (plus or minus columns).

.NET Core - API

Source : src\NetCore\DataCloner.Core

.NET Core - API use example

HelloWorld project : src\NetCore\DataCloner.HelloWorldConsole

//Minimal configuration
var project = new Project()
{
    ConnectionStrings = new List<Connection>
    {
        new Connection{ Id = "UNI", ProviderName = "System.Data.SqlClient", ConnectionString =@"Data Source=(localdb)\MSSQLLocalDB;Integrated Security=True;"}
    }
};

//Creating an execution plan for reuse later
var builder = new ExecutionPlanBuilder(project, null);

builder.Append(new RowIdentifier
{
    ServerId = "UNI",
    Database = "Chinook",
    Schema = "dbo",
    Table = "Customer",
    Columns = new ColumnsWithValue { { "CustomerId", 1 } }
});

//Creating a mew clone of the data inside the database.
var query = builder.Compile();
query.Execute();

Windows 10 - UWP GUI

Source : src\Universal\DataCloner.Universal

DataCloner GUI

About

Tool (API/GUI) for cloning SQL data precisely. Starting rows with their dependencies and their derivatives.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published