SQL Migration Extension Skeleton (#11625)

* Start on skeleton

* Finish up skeleton

* .

* Change up the skeleton a bit, add some states.
This commit is contained in:
Amir Omidi
2020-08-10 17:31:50 -07:00
committed by GitHub
parent 6435540f35
commit 39900b7a92
11 changed files with 161 additions and 2 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@@ -0,0 +1,41 @@
{
"name": "sql-migration",
"displayName": "%displayName%",
"description": "%description%",
"version": "0.0.1",
"publisher": "Microsoft",
"preview": true,
"license": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/main/LICENSE.txt",
"icon": "images/extension.png",
"engines": {
"vscode": "^1.25.0",
"azdata": ">=1.19.0"
},
"activationEvents": [
"onCommand:sqlmigration.start"
],
"main": "./out/main",
"repository": {
"type": "git",
"url": "https://github.com/Microsoft/azuredatastudio.git"
},
"extensionDependencies": [
"Microsoft.mssql"
],
"contributes": {
"commands": [
{
"command": "sqlmigration.start",
"title": "SQL Migration Start",
"category": "SQL Migration"
}
]
},
"dependencies": {
"vscode-nls": "^3.2.1"
},
"__metadata": {
"publisherDisplayName": "Microsoft",
"publisherId": "Microsoft"
}
}

View File

@@ -0,0 +1,4 @@
{
"displayName": "SQL Migration",
"description": "SQL migration description"
}

View File

@@ -0,0 +1,39 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { ExtensionContext, Disposable, commands, window } from 'vscode';
class SQLMigration {
constructor(private readonly context: ExtensionContext) {
}
async start(): Promise<void> {
}
async registerCommands(): Promise<void> {
const commandDisposables: Disposable[] = [ // Array of disposables returned by registerCommand
commands.registerCommand('sqlmigration.start', () => {
window.showInformationMessage('Command ran');
}),
];
this.context.subscriptions.push(...commandDisposables);
}
stop(): void {
}
}
let sqlMigration: SQLMigration;
export async function activate(context: ExtensionContext) {
sqlMigration = new SQLMigration(context);
}
export function deactivate(): void {
sqlMigration.stop();
}

View File

@@ -0,0 +1,22 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
export enum State {
COLLECTING_SOURCE_INFO,
COLLECTION_SOURCE_INFO_ERROR,
TARGET_SELECTION,
TARGET_SELECTION_ERROR,
AZURE_SERVER_SELECTION,
AZURE_SERVER_SELECTION_ERROR,
AZURE_DB_BACKUP,
AZURE_DB_BACKUP_ERROR,
MIGRATION_AGENT_CREATION,
MIGRATION_AGENT_SELECTION,
MIGRATION_AGENT_ERROR,
MIGRATION_START,
NO_AZURE_SERVER,
EXIT,
}

View File

@@ -0,0 +1,9 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
/// <reference path='../../../../src/vs/vscode.d.ts'/>
/// <reference path='../../../../src/sql/azdata.d.ts'/>
/// <reference path='../../../../src/sql/azdata.proposed.d.ts'/>
/// <reference types='@types/node'/>

View File

@@ -0,0 +1,14 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
export class WizardController {
constructor() {
}
public async openWizard(): Promise<void> {
}
}

View File

@@ -0,0 +1,20 @@
{
"extends": "../shared.tsconfig.json",
"compileOnSave": true,
"compilerOptions": {
"module": "commonjs",
"outDir": "./out",
"lib": [
"es6", "es2015.promise"
],
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"moduleResolution": "node",
"declaration": false,
"strict": true,
"noUnusedParameters": false,
},
"exclude": [
"node_modules"
]
}

View File

@@ -0,0 +1,8 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
vscode-nls@^3.2.1:
version "3.2.5"
resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-3.2.5.tgz#25520c1955108036dec607c85e00a522f247f1a4"
integrity sha512-ITtoh3V4AkWXMmp3TB97vsMaHRgHhsSFPsUdzlueSL+dRZbSNTZeOmdQv60kjCV306ghPxhDeoNUEm3+EZMuyw==