denodrivers / denodrivers/mysql

Standardize SQL database interface for TS/JS

Open
#167 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
264
Forks
64
PR merge metrics
No merged PRs in 30d

Description

It's a topic that has been brought up every now and then in the Deno DB community, but as Deno is becoming more stable, supports NPM and Node, and we got JSR, I believe it's time to consolidate and create a db standard SQL interface for TS and JS.

I have created a POC in my repo PR.

Any input and contribution is greatly appreciated and encouraged as it would be best to make this a collaborative effort amongst the database maintainers since they know the pitfalls for the different engines.

The milestones are as follows:

  • Decide on an interface for DB clients that can be implemented by any SQL based db. Wrappers can be created for existing database clients to locate potential issues with the interface and current implementations.
  • Refactor existing databases to implement these interfaces.

The goal for this is to be able to easily transition between databases and have a familiar interface and usage between them.

Consider the PR as a parent issue to have discussions, and where we can finalize the implementation.

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 with the proposed interface and usage in the linked deno-sqlx POC (PR #1), then compare it with this MySQL driver and other database implementations. The issue is done when the community agrees on a shared SQL client interface and the existing databases are refactored to implement it.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, mysql, sql, typescript
Domain
backend-api-design, databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.