Budibase DB
This datasource is the one that is native to Budibase. Any data you add here is stored directly on your Budibase instance.
Creating a table
You can create a table when you're in the data
section in your application.
The recommended flow is to go to your Budibase DB instance from the sidebar, and then click the Create new table
button.

Create a new table using this button
When creating a new Budibase DB table you can choose which built-in (auto types) columns you want to have. Each of these will be automatically maintained, created and updated based on the properties. You can choose to omit as you see fit. These can be added post-creation too through the Create column
button, by selecting the Auto Column type.
Name | Description |
---|---|
Auto ID | An automatically generated ID |
Created by | The user who created the row |
Created at | When this row was created |
Updated by | The user who updated the row last |
Updated at | The time when the row was updated last |

All auto columns selected by default

Adding an auto column at a later point
Adding columns
To add new columns to an existing Budibase DB table, navigate to the table you want to edit, then click the Create Column
button on top of the table. This will display a dialog where you can configure the column you want to add.

Adding a required text column
Editing columns
- Step into the table through the sidebar
- Hover over the column name you want to edit
- Click the pencil icon

Click the pencil icon to edit column
Selecting the display column
The display column is an important aspect when you're setting up relationships in tables. The column you select as a display column will be the one visually displayed inside a relationship column in another table.
Selecting a column during the table creation is only possible if you import data using a CSV
file. To select a display column in any other situation, edit the column you want to make the display. This will give you the Use as table display column option as shown below.

Selecting the display column
Create table from CSV
You can Import a CSV/JSON file as a new Budibase table.
Data types
Within Budibase DB there are several data types to choose.
Name | Description |
---|---|
Text | Storage of (relatively) short text |
Long Form Text | Allows you to store large amounts of texts, also supports markdown |
Options | Predefined list of options of which one can be selected |
Multi-select | Predefined list of options of which multiple can be selected |
Number | Storage of number |
Boolean (True/False) | Storage of true/false |
Date/time | Storage of a date with a time |
Attachments | Storage of a file. Limited to 20MB per file |
Relationships | Creates a link between this table and another table |
Formula | Allows you to set a formulated column, which will be calculated based on what you define. You can use handlebars or JavaScript |
JSON | Allows you to store JSON within a row, with the option to define a schema |
Auto Column | Auto columns can be added post-creation of the database by selecting data type. |
If using an external SQL Datasource, the native SQL data types will be mapped to one of these Budibase types for use in your apps. For more detail, look here for how the mappings are handled.
Column definitions
Common column options:
Property Name | Description |
---|---|
Name | The name of the column, used for querying and displaying |
Type | The type of data you want to store. |
Use as table display column | Enabling this will make the newly created column the display column. This will also automatically make the field required |
Primary index | Enabling this allows you to search in this field |
Secondary index | When primary index is in use, you can enable a second index for searching |
Data type specific column options:
Property Name | Description | Data Types |
---|---|---|
Enable Rich Text Format Support | Enabling this will allow you to store markdown | Long Form Text |
Options | The select-able options available for this column, one per line. | Options, Multi-select |
Table | Allow a relationship to the specified table | Relationship |
Column name in other table | The relationship created will also be visible in the related table, this will set the new column name on the related table | Relationship |
Formula | Allows you to set a formulated column, which will be calculated based on what you define. Allows you to define handlebars and JavaScript | Formula |
Constraints
The following column constraints are available:
Contraint Name | Description | Data Types |
---|---|---|
Required | When enabled, a value must be set for this field | All |
Maximum Length | The maximum length that can be stored in this column | Text |
Min Value | When set, any value entered in the database lower than this number will be rejected | Number |
Max Value | When set, any value entered in the database higher than this number will be rejected | Number |
Earliest | When set, any date before the specified date is rejected for new rows | Date/Time |
Latest | When set, any date after the specified date is rejected for new rows | Date/Time |
External datasource constraints
You can add Budibase constraints to external table columns, however this is entirely for form validation and will not restrict the data that is saved.
Instead, you must add data constraints yourself to any external table schemas.
Updated 3 months ago