[Feat]: Connection string import: support JDBC URLs, credentials and sslmode in query parameters
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 72/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- mysql, postgresql, typescript
- Domain
- database
Research direction
Start with src/utils/connectionStringParser.ts and its tests in tests/utils/connectionStringParser.test.ts; trace how parsed values reach toConnectionParams and the new connection modal. Extend the tests for JDBC URLs, query-parameter credentials and SSL mode, including the rule that query credentials are used only when the URL authority has none. Done means the form receives the expected values and passthrough drivers that keep raw URIs remain unaffected.
Written by the indexing model from the issue text.
Description
🚀 Feature Proposal
Make the "paste a connection string" import understand more URL forms:
- JDBC URLs:
jdbc:postgresql://host:5432/db,jdbc:mysql://host/db - Credentials in query parameters:
?user=alice&password=secret - SSL mode:
?sslmode=require(andssl-mode)
Example:
jdbc:postgresql://db.example.com:5432/app?user=alice&password=secret&sslmode=require
should fill host, port, database, user, password and SSL mode in the connection form.
Motivation
Connection URLs are often copied from application configs, which frequently use JDBC form and put credentials and SSL options in query parameters. Today those are rejected or partially ignored.
Where to start
src/utils/connectionStringParser.ts: strip a leadingjdbc:; readuser/username/passwordfromurl.searchParamswhen the authority has none; mapsslmode/ssl-modetossl_modeand add it toParsedConnectionString.- Carry
ssl_modethroughtoConnectionParamsand into the new connection modal. - Extend
tests/utils/connectionStringParser.test.ts.
Acceptance criteria
jdbc:postgresql://...andjdbc:mysql://...parse exactly like their bare forms.- Query parameter credentials are used only when the URL has none before
@. sslmode=require(and the other valid values) set the form's SSL mode.- Passthrough drivers that keep the raw URI (e.g. MongoDB) are unaffected.
Contributor notes
- Dominant language
- TypeScript
- Stars
- 5.1k
- Forks
- 335
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 62
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from TabularisDB/tabularis
-
feature request good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
TabularisDB/tabularis#853 ·
Maintainers usually reply within 1 day
-
Update the logo across the app: icons, dock, installers and in-app brandingPossibly taken @wajrock claimed this 1 day ago. Openenhancement
TabularisDB/tabularis#873 · 1 assignee ·
Maintainers usually reply within 1 day
-
feature request help wanted
Difficulty 4/5 3-5 days Newbie friendliness 68/100
TabularisDB/tabularis#871 ·
Maintainers usually reply within 1 day
-
feature request good first issue
Difficulty 3/5 1-2 days Newbie friendliness 74/100
TabularisDB/tabularis#870 ·
Maintainers usually reply within 1 day
-
feature request help wanted
Difficulty 4/5 3-5 days Newbie friendliness 58/100
TabularisDB/tabularis#869 ·
Maintainers usually reply within 1 day
All issues in TabularisDB/tabularis
Similar issues
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Small-tailqwq/dsh-deep-whale#187 ·
Maintainers usually reply within 1 day
-
Tela Marca manda conferir o campo "Razão social", que em Portugal se chama "Denominação social"Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
melgarafael/DeskcommCRM#2503 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
0x80/isolate-package#218 ·
-
bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
pingdotgg/t3code#16859 · 1 comment ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day