feat: make workflow objects searchable (#18906)

## Summary
- Adds `isSearchable: true` to the workflow standard object definition
so new workspaces get searchable workflows automatically
- Adds a `upgrade:1-20:make-workflow-searchable` migration command that
flips the `isSearchable` flag on the `objectMetadata` row for existing
workspaces, with proper cache invalidation and metadata version
increment
- Registers the command in the 1-20 upgrade module and the
`upgrade.command.ts` orchestrator

The `searchVector` stored generated column already exists on the
workflow table, so no data backfill is needed — this is purely a
metadata flag change that makes the search service include workflows in
results.

## Test plan
- [x] `--dry-run` logs what it would do without making changes
- [x] Actual run updates both workspaces and invalidates caches
- [x] Idempotent: re-running skips already-searchable workspaces
- [x] Typecheck passes
- [x] Lint passes on changed files


Made with [Cursor](https://cursor.com)
This commit is contained in:
Félix Malfait
2026-03-26 08:53:11 +01:00
committed by GitHub
parent 5041b3e14b
commit d126d54bbc
5 changed files with 95 additions and 0 deletions
@@ -761,6 +761,7 @@ export const STANDARD_FLAT_OBJECT_METADATA_BUILDERS_BY_OBJECT_NAME = {
labelPlural: i18nLabel(msg`Workflows`),
description: i18nLabel(msg`A workflow`),
icon: 'IconSettingsAutomation',
isSearchable: true,
shortcut: 'W',
labelIdentifierFieldMetadataName: 'name',
},