This repository has been archived by the owner on Nov 7, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 183
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
48b5f42
commit ca3630b
Showing
1 changed file
with
8 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,13 @@ | ||
# Azure Cosmos DB data migration tool | ||
# Azure Cosmos DB data migration tool (Retired) | ||
|
||
> **PLEASE NOTE** | ||
> | ||
> The Azure Cosmos DB data migration tool is undergoing a full refactor to restructure the project to accomplish the following: | ||
> | ||
> - Provide a base cross-platform CLI that is lightweight and serves as the base (core) executable for hosting extensions | ||
> - The extensible framework enables the community to add source and destination targets without modifying the core executable | ||
> - Improve stability | ||
> - Use the latest stable .NET release (currently .NET 6) | ||
> - Use the latest Azure Cosmos DB SDKs | ||
**PLEASE NOTE** | ||
|
||
This version of the Azure Cosmos DB data migration tool has been retired. A new version of our Data Migration Tool has been created and is maintained by members of the Cosmos DB developer community. | ||
|
||
To access the archived version of the tool, navigate to the [**Archive branch**](https://github.com/Azure/azure-documentdb-datamigrationtool/tree/archive). | ||
Read the annoucement blog post, [Announcing New Azure Cosmos DB Desktop Data Migration Tool](https://devblogs.microsoft.com/cosmosdb/new-desktop-data-migration-tool/) | ||
|
||
--- | ||
New Repository, [Azure Cosmos DB Desktop Data Migration Tool on GitHub](https://github.com/AzureCosmosDB/data-migration-desktop-tool) | ||
|
||
## Cosmos DB data migration tool architecture | ||
To access the archived version of the tool and its documentation, navigate to the [**Archive branch**](https://github.com/Azure/azure-documentdb-datamigrationtool/tree/archive). | ||
|
||
The Cosmos DB Data Migration Tool is a lightweight executable that leverages the [Managed Extensibility Framework (MEF)](https://docs.microsoft.com/en-us/dotnet/framework/mef/). MEF enables decoupled implementation of the core project and its extensions. The core application is a command-line executable responsible for composing the required extensions at runtime by automatically loading them from the Extensions folder of the application. An Extension is a class library that includes the implementation of a System as a Source and (optionally) Sink for data transfer. The core application project does not contain direct references to any extension implementation. Instead, these projects share a common interface. | ||
|
||
![An extensions folder holds multiple extensions implementations.The application loads extensions from the extensions folder and executes functionality based on an interface implementation.](media/application_architecture.png "Application architecture") | ||
|
||
## Cosmos DB project structure | ||
|
||
The Cosmos DB Data Migration Tool core project is a C# command-line executable. The core application serves as the composition container for the required Source and Sink extensions. Therefore, the application user needs to put only the desired Extension class library assembly into the Extensions folder before running the application. In addition, the core project has a unit test project to exercise the application's behavior, whereas extension projects contain concrete integration tests that rely on external systems. | ||
|
||
![The project consists of a core application executable project as well as a shared interface project. Each extension will consist of an extension project plus integration test project. A core unit test project exercises the core application functionality.](media/project_structure.png "Project structure") | ||
|
||
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. | ||
|
||
## Documentation | ||
|
||
[Initial usage documentation](docs/developer-guidance.md). | ||
[Last Archived Release 1.8.3](https://github.com/Azure/azure-documentdb-datamigrationtool/releases/tag/1.8.3) |