riverqueue / riverqueue/riverui

Support multiple databases & schemas?

Open
#3 2 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
236
Forks
39
Avg merge
3h 40m
Merged PRs (30d)
23

Description

A user asked for our UI to be capable of letting a single UI instance serve multiple databases so they don't require a single UI deployment per database. I've run into the frustration of having to have many different UI deployments at my day job, so I agree this would be nice.

We might also be able to tackle multiple schemas using the same mechanism here. Imagine if the UI is able to somehow take a config of DB names to URLs. There could be a switcher in the menu bar to allow you to change the "context" of which one you're working on.

The big question I have is how this would be reflected in URLs for either the frontend or the API backend. Does the DB name become a required part of the path or a query param in either case? On the frontend, you could keep it as a local storage setting (like switching from light to dark mode) and keep it out of the URL, but this would have some downsides (URLs not as easily shareable between users). Instead of that, we may want to structure our URLs to include the DB name as a prefix.

cc @brandur

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

No files, tests, or entry points are named. Start by deciding how database and schema context should be configured and represented in frontend and API URLs, then define the switcher behavior. Done means one UI instance can serve configured databases or schemas with unambiguous, shareable context URLs.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
databases, full-stack
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.