Added
- **Table groups and folder organization**
You can now organize your table configurations into different files within separate folders. These files will automatically turn into groups in the menu.
Note that this change introduces a breaking update: you need to modify your config file to include the optional attribute `table_paths`, which is now a list of folders containing YAML files (instead of a single YAML file directory).
- **Group label and divider in the side menu**
The group label and divider are generated based on your file organization.
- **New attribute `group_name` and `display_order` for the `BananaTables` object**
This will visually change the label and order of your groups in the side bar.
---
This is the current attributes and default values of the `tables` configuration:
yaml
group_name: <optional string>
display_order: <optional integer>
tables:
- name: <string>
schema_name: <optional string>
display_name: <optional string>
primary_key:
name: <string>
display_name: <optional string>
columns:
- name: <string>
display_name: <optional string>
foreign_key: (optional)
table_name: <string>
schema_name: <optional string>
column_name: <string>
column_display: <string>
- <other columns>
- <other tables>
---
- **Indexing Table**
Upon app refresh, a new table is created in your database to store configuration metadata. This allows the app to find relevant information faster than searching and reading files.
You can customize the indexing table name and schema using the `indexing_table` and `indexing_schema` attributes in your config file.
---
This is the current attributes and default values of the `config.yaml` file:
yaml
connection_string: <string>
port: 4000
table_paths: ["tables"]
title: "Banana Database Manager"
indexing_table: "banana__indexing"
indexing_schema: <optional string>
Changed
- `Flask-SQLAlchemy` has been added as a dependency, enhancing code safety and cleanliness.