Skip to content

Releases: mickamy/subset

v0.1.0

27 May 04:21
1d3c87d

Choose a tag to compare

Changelog

Features

  • 35b3dee feat(cli): implement clone command
  • a62f42f feat(cli): implement delete subcommand (backward FK closure)
  • ea9efbd feat(cli): wire --plan and SQL summary comment into clone/delete
  • 126db6e feat(dialect): add SQL dialect interface with QuoteIdent/Placeholder
  • e5ce2e4 feat(dialect): implement MySQL QuoteLiteral
  • 14e8c19 feat(dialect): implement Postgres QuoteLiteral
  • 2c56668 feat(dsn): add DSN scheme detection and MySQL DSN converter
  • 70d61ad feat(emit): add --plan summary and SQL header comment
  • dc7a1a3 feat(emit): add BuildDelete for per-row DELETE statements
  • a6bad0f feat(emit): add INSERT writer for clone output
  • 6db7369 feat(extract): add SortByPK for self-ref intra-table ordering
  • 7d8ce79 feat(extract): add backward FK closure via Direction
  • a9f514c feat(extract): add forward FK closure walker with composite PK/FK support
  • ec68b33 feat(introspect): add Postgres and MySQL schema introspection

Bug fixes

  • b7ad27c fix(dialect): include uint8 in Postgres QuoteLiteral switch
  • 2d2bf8c fix(dialect): treat valid-UTF-8 bytes as quoted string for DECIMAL/JSON safety
  • f4fd0a1 fix(extract): allow empty whereClause to select all rows in seed
  • fbf5e93 fix(extract): clarify PK error message for self-ref ordering
  • 416227d fix(extract): error on unsupported walk Direction
  • 7d8697c fix(extract): guard nil PK and skip empty rows in SortByPK
  • 112ad37 fix(extract): traverse all self-ref FKs in SortByPK

Performance

  • ba6d7f9 perf(extract): replace %#v map key with normalizeKey helper

Refactor

  • efe7764 refactor(cli): clarify user-facing error messages
  • 8efb560 refactor(dialect): call dsn.Scheme once in New

Documentation

  • e98797f docs: add README with install, usage, and examples

Others

  • 16ea121 chore(compose): add Postgres and MySQL containers with fixture schema
  • 4a7fd14 chore(deps): add pgx and go-sql-driver/mysql
  • 7b5e34f chore(gemini): ask Gemini code review on PR synchronized
  • 42f0df8 chore(gemini): enable code review and memory
  • deec81f chore(gemini): enable code review on PR synchronize
  • 2372030 chore(gemini): remove useless review kicking workflow
  • 78b2cf6 chore(make): add compose-up/down and integration-test targets
  • 2c1c201 chore(make): serialize integration test packages with -p 1
  • 280af9a chore: initial commit
  • 3db0b5f ci: rename to .yaml and add integration-test job
  • 83796d4 test(cli): E2E self-ref clone (Postgres + MySQL)
  • 422f6a2 test(cli): add E2E integration test for clone MySQL
  • 0434aac test(cli): add E2E integration test for clone Postgres
  • fa2a64b test(cli): unit-test splitArgs edge cases
  • ec7e3c7 test(emit): cover MySQL dialect output
  • edd783c test(extract): cover MySQL forward closure (composite FK)
  • 46d45e9 test(extract): cover normalizeKey type branches
  • edcd239 test: cover clone arg validation and self-ref FK path
  • cedd9b3 test: cover delete arg validation and Walk early errors
  • 1017c58 test: use t.Context() in Walk validation test