Budibase / budibase

Low code platform for building business apps and workflows in minutes. Supports PostgreSQL, MySQL, MariaDB, MSSQL, MongoDB, Rest API, Docker, K8s, and more 🚀
https://budibase.com
Other
22.83k stars 1.58k forks source link

Allow tables to handle _id values in non DS+ rows #14929

Closed aptkingston closed 4 weeks ago

aptkingston commented 4 weeks ago

Description

This PR allows the usage of existing values for an _id column on non-datasource-plus sources. An example is Mongo, which has it's own concept of _id separate to Budibases. The current table component assumes that non DS+ sources will not contain this field, and therefore overwrites it with a UUID in order to be able to uniquely identify each row.

This PR will now use existing _id values if they exist, trusting that they are unique, and continuing to generate them if not.

I've also updated the additional context we pull from tables to better reflect the available data. This means that fields like _id and __idx which the table generates for internal use will not appear in live binding evaluation.

Assumptions

The grid has 2 remaining assumptions.

Addresses

A customer issue.

qa-wolf[bot] commented 4 weeks ago

QA Wolf here! As you write new code it's important that your test coverage is keeping up. Click here to request test coverage for this PR!