Skip to content

feat: ERD 엔지니어링 툴 테이블/컬럼 이름 변경 기능 추가 - #580

Draft
seonghobae wants to merge 6 commits into
developmentalfrom
fix-erd-rename-3568775468574516108
Draft

feat: ERD 엔지니어링 툴 테이블/컬럼 이름 변경 기능 추가#580
seonghobae wants to merge 6 commits into
developmentalfrom
fix-erd-rename-3568775468574516108

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 4, 2026

Copy link
Copy Markdown

Current exact boundary

  • protected base: developmental@2fa92012bcf80acc1f921a4bafea76b3b1424b46
  • exact head: 42f814b3fdb086d68254c30575395d08e71153f8
  • lifecycle: Draft / source-level GREEN preserved / exact-head hosted gates queued

Valid intent

ERDModel.renameTable / renameColumn keep schema identity changes inside the ERD domain model and update affected foreign-key references.

Review finding → TDD repair

The initial renameTable implementation deleted the old Map key and appended the renamed table with set(newName, table). That changed table iteration order. Because generateDDL() emits inline foreign keys in Map order, renaming an earlier referenced table such as users could move it after posts while posts still emits REFERENCES members(id). A rename must not silently perturb the model's existing dependency-safe order.

A focused regression in packages/web/src/lib/erd.rename.test.ts constructs users -> posts, renames users to members, and requires both getTables() and generated DDL to retain members before posts while updating the foreign-key target.

The minimal causal fix rebuilds the table map with the renamed key in the original entry position instead of delete+append.

Concurrent descendant reconciliation

The branch advanced normally from repaired head c0b5abc531226939d6a85309308008c09fb662ab to 42f814b3fdb086d68254c30575395d08e71153f8. Fresh compare is descendant-only (ahead_by=1, behind_by=0). The intervening commit refactors the same ordering implementation/test formatting and preserves the semantic contract: renamed table remains in its original position and generated DDL still emits the referenced table before the child FK. It is adopted rather than reverted; no force-push or destructive rebase is used.

Exact-head evidence

Fresh workflows for 42f814b3fdb086d68254c30575395d08e71153f8 are non-terminal: CI 33949269585, SAST Semgrep 33949269551, Security Scan 33949269591, and CodeQL PR 33949269561 are queued. The earlier repaired-head runs were cancelled and do not transfer.

Keep Draft until exact-head tests/checks and current review requirements are terminal-valid. Do not weaken the ordering regression, self-approve, bypass protections, or manufacture a source-neutral retrigger.

@google-labs-jules

Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 4, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-04T22:07:49.690201Z b0e1b68 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b0e1b68d06

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/web/src/lib/erd.ts Outdated
@seonghobae
seonghobae marked this pull request as draft September 4, 2026 22:36
@seonghobae seonghobae added enhancement New feature or request priority: medium Normal-priority or P2 work type: feature New or expanded product capability labels Sep 7, 2026 — with ChatGPT Codex Connector
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request priority: medium Normal-priority or P2 work type: feature New or expanded product capability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant