Skip to content

docs(lakebase-autoscale): fold migration skill in as references/migration.md#525

Open
dgokeeffe wants to merge 1 commit into
databricks-solutions:mainfrom
dgokeeffe:feat/fold-lakebase-migration-into-autoscale
Open

docs(lakebase-autoscale): fold migration skill in as references/migration.md#525
dgokeeffe wants to merge 1 commit into
databricks-solutions:mainfrom
dgokeeffe:feat/fold-lakebase-migration-into-autoscale

Conversation

@dgokeeffe
Copy link
Copy Markdown
Contributor

Summary

Per Quentin's review on #513: rather than ship a standalone databricks-lakebase-migration skill, fold the content into the existing databricks-lakebase-autoscale skill as a reference file. ("we already have too many skills.")

This PR replaces #513.

What changed

New: databricks-skills/databricks-lakebase-autoscale/references/migration.md (304 lines, gpt-5.5-densified from #513's 447-line SKILL.md).

Preserves the five non-obvious gotchas verbatim — these are the difference between a 30-minute migration and a 3-hour one:

  1. Raw CREATE DATABASE skips the databricks_auth + neon extensions (silent until first SP OAuth login fails)
  2. App SP roles need databricks_create_role(<sp-uuid>, 'SERVICE_PRINCIPAL'), not vanilla CREATE ROLE
  3. pg_restore --role=<sp-uuid> is the load-bearing flag for SP ownership of restored tables
  4. databricks bundle deploy cannot change database.instance_name on an existing app — workaround is databricks apps update --json with the full resources array
  5. UC sync pipelines (sync_*) do not auto-follow a re-pointed app

Also keeps: cosmetic-warning policy during pg_restore, the common-issues table mapping every observed error string, and the Provisioned ↔ Autoscaling capacity mapping (with the unit redefinition note: Provisioned 1 CU = 16 GB; Autoscaling 1 CU = 2 GB).

Updates to SKILL.md:

  • Trigger description appends migration use case
  • Reference Files section lists the new references/migration.md
  • Current Limitations now points at the migration recipe rather than just stating the limitation

Closes

Closes #513.

Test plan

  • Read references/migration.md end-to-end against the original databricks-lakebase-migration/SKILL.md to confirm all five gotchas survived with full SQL/CLI fix specifics
  • Confirmed the cosmetic restore warnings list survived (`transaction_timeout`, `permission denied for database`, `Databricks SyncedTable`)
  • Confirmed the capacity mapping table + 1-CU-redefinition note survived
  • Verified `databricks_create_role` and `databricks_list_roles` API names spelled correctly

This pull request and its description were written by Isaac.

…ration.md

Per Quentin's review on PR databricks-solutions#513: rather than ship a standalone
databricks-lakebase-migration skill, fold the content into the existing
databricks-lakebase-autoscale skill as a reference file. ("we already
have too many skills.")

Adds:
- references/migration.md (304 lines, gpt-5.5-densified from PR databricks-solutions#513's
  447-line SKILL.md). Preserves the five gotchas verbatim:
    1. Raw CREATE DATABASE skips databricks_auth + neon extensions
    2. App SP roles need databricks_create_role(), not CREATE ROLE
    3. pg_restore --role=<sp-uuid> is required for SP ownership
    4. Bundle deploy can't change database.instance_name; use
       databricks apps update --json with full resources array
    5. UC sync pipelines don't auto-follow re-pointed apps; sync_*
       data is a frozen snapshot
  Also keeps: cosmetic-warning policy during pg_restore, common-issues
  table, Provisioned ↔ Autoscaling capacity mapping (with the 1 CU
  unit redefinition note: Provisioned 16 GB vs Autoscaling 2 GB).

Updates SKILL.md:
- Trigger description appends "or migrating an existing Lakebase
  Provisioned database to Autoscaling via pg_dump/pg_restore"
- Reference Files section lists the new migration.md
- Current Limitations clarifies that the snapshot migration path IS
  documented in this skill (was previously listed as a flat limitation
  with no recipe)

PR databricks-solutions#513 to be closed pointing at this PR.

Co-authored-by: Isaac
Copy link
Copy Markdown
Collaborator

@cankoklu-db cankoklu-db left a comment

Choose a reason for hiding this comment

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

Folding migration into autoscale as references/migration.md is the right call, keeps the five non-obvious gotchas (databricks_auth/neon extensions, databricks_create_role, pg_restore --role, bundle deploy instance_name limitation, sync_* pipelines not auto-following) without spawning a new skill. Mixed layout (core docs at root, migration in references/) is fine — reads as "this is the recipe you reach for once," matching the one-time nature of migration.

@cankoklu-db
Copy link
Copy Markdown
Collaborator

@dgokeeffe Now that #488 is merged, the SKILL.md conflict here is bigger than a line bump

#525 still carries the pre-#488 manage_lakebase_database / manage_lakebase_branch action tables which were removed in the restructure.

Could you rebase on main and redo the SKILL.md edits (trigger description append + Reference Files entry + Current Limitations pointing at references/migration.md) against the new layout? references/migration.md itself should come over cleanly.

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.

2 participants