Nimblesite / Nimblesite/SharpLsp

[Feature]: DataProvider Migrations UI

Open
#198 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
132
Forks
5
Avg merge
6h 24m
Merged PRs (30d)
27

Description

Problem / motivation

SharpLsp has no first-party, open database-schema workflow. As noted in the related comment on #157, Microsoft has not open-sourced the SQL Server project engine, so SSDT/.sqlproj compatibility is not a viable path under SharpLsp's zero-proprietary-dependency rule.

DataProvider Migrations provides the open, database-agnostic alternative. It needs a first-class editor experience instead of being only a separate CLI workflow.

Proposed solution

Bake a DataProvider Migrations experience into SharpLsp and its VS Code extension:

  • Discover DataProvider YAML migration schemas in the workspace and surface them in Solution Explorer.
  • Provide commands/UI to create and open schemas, validate them, preview schema-diff/generated migration operations, and run DataProviderMigrate migrate.
  • Surface migration progress, diagnostics, failures, and actionable fixes in the editor.
  • Support secure target/provider and connection configuration through SharpLsp's existing configuration conventions.
  • Refresh the UI and diagnostics when schemas or workspace configuration change.
  • Integrate the migrate and export workflows, including clear provider-capability status.

Initial providers should match DataProvider Migrations today: SQLite and PostgreSQL. SQL Server support is explicitly deferred until Nimblesite.DataProvider.Migration.SqlServer exists.

This is a DataProvider-native migration workflow, not a compatibility layer for .sqlproj, SSDT, DacFx, or DACPACs.

Language relevance

Editor/tooling feature; YAML migration schemas, with SQLite and PostgreSQL initially.

Alternatives considered
  • .sqlproj/SSDT/DacFx integration: rejected because the underlying database-project engine is proprietary and supporting it independently would require a ground-up reimplementation.
  • DataProviderMigrate CLI only: remains supported, but does not provide workspace discovery, live diagnostics, diff preview, or in-editor migration execution.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading SharpLsp's existing VS Code extension and configuration conventions, then review how the current DataProviderMigrate CLI workflow is exposed. Done means workspace discovery, schema commands, validation, diff and migration execution, diagnostics, configuration refresh, and SQLite/PostgreSQL capability status are integrated for the proposed editor experience.

Written by the indexing model from the issue text.

Assessment

Tech stack
postgresql, sqlite, typescript, vscode, yaml
Domain
database, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.