Skip to content

fix "accessor" name migrations - #5544

Open
Shubham8287 wants to merge 17 commits into
masterfrom
shub/fix-table-migration-index-migration-step
Open

fix "accessor" name migrations#5544
Shubham8287 wants to merge 17 commits into
masterfrom
shub/fix-table-migration-index-migration-step

Conversation

@Shubham8287

@Shubham8287 Shubham8287 commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Description of Changes

Fixes: #5132.

It makes migration to notice "accessor" name changes and update "st_*_accessor" tables accordingly.

Not doing so results in runtime panic as module depends on accessor names to use exposed ABIs.

API and ABI breaking changes

NA

Expected complexity level and risk

2

Testing

Tests has been added.

These tests verify that changing a table or column accessor_name in a module
schema triggers ChangeTableAccessorName and ChangeColumnAccessorName steps.
They currently fail because the auto-migration logic is not yet implemented.
Add ChangeTableAccessorName and ChangeColumnAccessorName step variants and
their full execution pipeline: auto-migration planning, datastore mutations
(updating st_table_accessor / st_column_accessor system tables and in-memory
schema), rollback support, formatter rendering, and step execution handlers.
@Shubham8287
Shubham8287 marked this pull request as draft July 15, 2026 11:17
@Shubham8287
Shubham8287 marked this pull request as ready for review July 29, 2026 14:00
@Shubham8287 Shubham8287 changed the title fix table migration index migration step fix "accessor" name migrations Jul 29, 2026
@Shubham8287 Shubham8287 self-assigned this Jul 29, 2026

@joshua-spacetime joshua-spacetime left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about databases that already have the wrong accessor names in the database? How are those repaired?

Comment thread crates/datastore/src/locking_tx_datastore/mut_tx.rs Outdated
@Shubham8287

Shubham8287 commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

What about databases that already have the wrong accessor names in the database? How are those repaired?.

yeah , it does not address that. I'm not sure we should add automatic recovery for affected databases, since it would require running extract_description on every module load and generating a ModuleDef.

I also don't think there are many affected databases. Users have always had a way to revert the accessor names to get things working again. For users who couldn't figure that out, it's unlikely they're still using those modules, since the affected tables and indexes would have been unusable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migration can leave generated index accessors pointing at missing index names

2 participants