Title: Feature request: Table filters for tabular persisters · Issue #233 · tinyplex/tinybase · GitHub
Open Graph Title: Feature request: Table filters for tabular persisters · Issue #233 · tinyplex/tinybase
X Title: Feature request: Table filters for tabular persisters · Issue #233 · tinyplex/tinybase
Description: Hi, first of all thanks for amazing work. Problem / use-case Is your feature request related to a problem? Please describe. Let me start with describing our use case. We are dev tool platform and most of data for our users are organized ...
Open Graph Description: Hi, first of all thanks for amazing work. Problem / use-case Is your feature request related to a problem? Please describe. Let me start with describing our use case. We are dev tool platform and m...
X Description: Hi, first of all thanks for amazing work. Problem / use-case Is your feature request related to a problem? Please describe. Let me start with describing our use case. We are dev tool platform and m...
Opengraph URL: https://github.com/tinyplex/tinybase/issues/233
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Feature request: Table filters for tabular persisters","articleBody":"Hi, first of all thanks for amazing work.\n\n## Problem / use-case\n_Is your feature request related to a problem? Please describe._\n\nLet me start with describing our use case. We are dev tool platform and most of data for our users are organized in \"branches\". And we want to use TinyBase to synchronize these between browsers, IDEs, Cloudflare Workers/Durable Objects and Postgres. \n\nBecause data are thanks to the branches logically partitioned we want to create TinyBase Store per branch. Because as user works on one branch we don't need any other data. Also companies may over time collect a lot of abandoned branches that are unused so scoping per branch will keep it reasonably small.\n\nBut I believe that this is might be quite common, as things are often organized in projects, rooms, organizations, ...\n\n## Feature request\n_Describe the solution you'd like_\n\nIt would be great to be able to define filters on table definitions (that logically map to something like `where branchId = \"xyz\"`) when creating persister, which would instruct it what data it should load for given table. \n\nIf I understand the source code right the condition would come [here](https://github.com/tinyplex/tinybase/blob/main/src/persisters/common/database/commands.ts#L93-L95) in `loadTable` command but also on other places where currently all rows get deleted (eg [here](https://github.com/tinyplex/tinybase/blob/main/src/persisters/common/database/commands.ts#L216) and [here](https://github.com/tinyplex/tinybase/blob/main/src/persisters/common/database/commands.ts#L283))\n\n## Alternatives\n_Describe alternatives you've considered_\n\nUnfortunately we haven't found any alternative that would allow us to synchronise only part of tables","author":{"url":"https://github.com/jakubriedl","@type":"Person","name":"jakubriedl"},"datePublished":"2025-04-24T15:44:47.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":4},"url":"https://github.com/233/tinybase/issues/233"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:754afb18-68a7-144f-8238-2b93e51fd635 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | C5E0:33DAD9:381EB4:4F7E83:6A4E6AAC |
| html-safe-nonce | 343896243ee58c3e75cc1fa797a78977700a39ae86a0d79409b8a35cb3efa8f6 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDNUUwOjMzREFEOTozODFFQjQ6NEY3RTgzOjZBNEU2QUFDIiwidmlzaXRvcl9pZCI6IjYxMjE1OTE0MTk2MTYyNTg3MzIiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 06c65bca4bb55c3c60905c0dd7e7d30eddfaab0467dfa5e08c1f1f1581d05317 |
| hovercard-subject-tag | issue:3017705638 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/tinyplex/tinybase/233/issue_layout |
| twitter:image | https://opengraph.githubassets.com/bdc4dfbc97cb20a50693496d9df5ad06c4939a7c45e4ca676f66aa0f8a8cf922/tinyplex/tinybase/issues/233 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/bdc4dfbc97cb20a50693496d9df5ad06c4939a7c45e4ca676f66aa0f8a8cf922/tinyplex/tinybase/issues/233 |
| og:image:alt | Hi, first of all thanks for amazing work. Problem / use-case Is your feature request related to a problem? Please describe. Let me start with describing our use case. We are dev tool platform and m... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | jakubriedl |
| hostname | github.com |
| expected-hostname | github.com |
| None | 41b6ab3ba6d20a71766ac245b5a4a94c6fc672a9cd4da7d44c1b33ab8bf6a21c |
| turbo-cache-control | no-preview |
| go-import | github.com/tinyplex/tinybase git https://github.com/tinyplex/tinybase.git |
| octolytics-dimension-user_id | 96894742 |
| octolytics-dimension-user_login | tinyplex |
| octolytics-dimension-repository_id | 443220240 |
| octolytics-dimension-repository_nwo | tinyplex/tinybase |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 443220240 |
| octolytics-dimension-repository_network_root_nwo | tinyplex/tinybase |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | e6a744804e8e70f97b4d5a18a94dcc63db22f97a |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width