Databases
Driftleaf databases can be created directly or imported from CSV and JSON. Databases appear in the vault's folder in the sidebar and can be explored as table, board, or calendar views. Rows, property definitions, formulas, and saved views are stored encrypted in the vault; they are not converted into Markdown notes.
Create a database
Choose + Database beside + Note in the sidebar. The new database is created in the currently selected folder with a Title property. Add rows and properties in the table view, and rename the database from its database controls.
Import a database
Choose Import and select a .csv, .json, or .zip file. CSV and JSON
files can be selected directly or included in a ZIP archive. Import places each
database in the currently selected vault folder. ZIP paths are preserved as
vault folders. Markdown files in the same import can be imported alongside
databases.
- CSV: the header row becomes the property names. Driftleaf infers common
number, checkbox, date, and URL fields, and recognizes common header names
such as
tags,status,email, andphone. ANameorTitlecolumn is used as the title property when present; otherwise, the first column becomes the title. Other cells retain their imported values. - JSON: accepts an array of row objects, or an object containing a
data,results, orrecordsarray. Common Notion-style property values and type hints are normalized where supported. - ZIP: imports
.md,.csv, and.jsonentries and retains their archive-relative folder paths. Other entry types are ignored. To limit resource use, each imported CSV or JSON file may be up to 20 MiB, and a ZIP archive may contain up to 20,000 entries.
If an item cannot be imported, Driftleaf reports it as skipped while continuing with other selected files or archive entries.
Properties and views
- Use + Add property below the current view to add any number of columns. Choose a property name and type; select and multi-select properties can define options.
- Formula is a calculated property, not an editable cell. Choose Formula (calculated), name the property, then enter its expression in the formula editor. A preview appears when rows exist.
- Rename or delete properties from their column headers. Renaming updates formula references. The title property cannot be deleted; dependent formula or rollup properties must be removed before a referenced property.
- Deleting a property also removes its row values and saved filters, sorts, groupings, and calendar date selections.
- Use + Row to add a row. Edit supported cells directly in the table; changes are saved to the encrypted database.
- Add named Table, Board, or Calendar views. Sort, search, and filter rows; Table and Board views can group by select, status, or checkbox properties. Calendar views use a date property.
- Supported property types include text, title, number, checkbox, date, select, multi-select, URL, email, phone, people, files, formula, relation, and rollup.
- Use Delete on a row to remove it. References to that row in relation properties are cleared.
- Use Delete database to remove the database. Driftleaf prevents deletion while another database has a relation to it.
Formulas
Create a Formula (calculated) property or choose Edit formula in
its column header. See the dedicated database formulas guide for a full reference, examples, and function list. Reference a property by name with
prop("Property name"). For example:
if(prop("Done"), "Complete", "Open")
The safe formula evaluator supports arithmetic and comparison operators,
&&, ||, !, property references, and common functions including
if, ifs, and, or, not, empty, length, contains, startsWith,
endsWith, replace, replaceAll, lower, upper, trim, abs, ceil,
floor, round, min, max, sum, average, mod, pow, sqrt, sign,
join, slice, concat, toNumber, toString, format, now, today,
dateAdd, dateSubtract, dateBetween, dateStart, dateEnd, and
formatDate.
Formula results are calculated in the table and are not written back into row cells. Errors appear in the affected formula cell. This is a common-functions subset, not full Notion formula-language compatibility.
Relations and rollups
Create a relation property and choose another Driftleaf database. Select
one or more rows in the relation cell. A rollup property can use an existing
relation and a property from its linked database, with show_original, count,
sum, average, min, or max calculation.
Notion CSV exports do not include formula definitions. JSON exports may contain formula results, but those results do not restore the original formula definition. Separately imported Notion databases are not connected automatically: recreate their relation properties in Driftleaf. Relations are not required for importing and browsing the source CSV or JSON data.
Export
Export CSV creates a spreadsheet-friendly snapshot of cell values. Formula columns export calculated results, while relations and other complex values are flattened; CSV does not preserve property types or saved views. Export JSON preserves Driftleaf property definitions, formula expressions, rows, and saved views for re-import. Exports are plaintext files outside the vault, and Driftleaf asks for confirmation before writing them.
Privacy and backups
Database titles, IDs, folder paths, and timestamps are encrypted in
.driftleaf/manifest.enc. Property definitions, formulas, views, and row
values are encrypted together in .driftleaf/<database-id>.db.enc with the vault key.
Create backups from Settings → Diagnostics & Vault Health → Create backup;
this includes the hidden .driftleaf/ directory. Health checks and backup
verification also validate encrypted database files.
The database index metadata is stored encrypted in manifest.enc. Unlike Markdown notes,
database files cannot currently be re-indexed automatically if that manifest is
lost. Restore the manifest or .driftleaf/ directory from a backup; see
Vault Recovery.