Skip to content

Replace JSON config with YAML config (sqlct.config.yaml)#61

Merged
zacateras merged 5 commits intomainfrom
copilot/research-yaml-config-replacement
Apr 13, 2026
Merged

Replace JSON config with YAML config (sqlct.config.yaml)#61
zacateras merged 5 commits intomainfrom
copilot/research-yaml-config-replacement

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 13, 2026

  • Add YamlDotNet 17.0.1 package (no known CVEs)
  • Update Constants.cs: rename SqlctConfigFileName to sqlct.config.yaml, remove legacy JSON constant
  • Update SqlctConfigReader.cs: swap to YAML deserialization, remove legacy JSON migration-hint detection
  • Update SqlctConfigWriter.cs: swap to YAML serialization with header comment block (Installation, Update, and Usage sections including help hint)
  • Update InitCommand.cs: fix 2 hardcoded sqlct.config.json strings
  • Update specs/02-config.md: YAML schema, remove migration section, updated references
  • Update specs/12-project-plan.md: update file reference and cross-cutting rule
  • Update CHANGELOG.md: Changed + Removed entries
  • Update tests: SqlctConfigWriterTests (YAML assertions, legacy migration-hint test removed), DataCommandTests (10 path strings), SyncCommandServiceTests (config file name + WriteConfigWithAuth to YAML)
  • 345 tests pass on net8.0 and net10.0

"# SQL Change Tracker (sqlct)\n" +
"# https://github.com/ElegantCodeAtelier/sql-change-tracker\n" +
"#\n" +
"# Installation:\n" +
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Add Update: section after Installation:

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Added in afa2cae:

# Update:
#   dotnet tool update --global sqlct
#

"# dotnet tool update --global sqlct\n" +
"#\n" +
"# Usage:\n" +
"# sqlct init - initialize this project\n" +
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Add info on how to print help

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Added in 5f0b91d:

#   sqlct --help   - print help

as the first entry under Usage:.

Copy link
Copy Markdown
Member

@zacateras zacateras left a comment

Choose a reason for hiding this comment

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

Remove support for legacy sqlct.config.json entirely.

@zacateras zacateras marked this pull request as ready for review April 13, 2026 09:00
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 13, 2026

Remove support for legacy sqlct.config.json entirely.

Done in 420c28e — removed in full:

  • SqlctConfigLegacyFileName constant from Constants.cs
  • Legacy JSON detection block from SqlctConfigReader.cs
  • Read_WhenLegacyJsonConfigExists_ReturnsMigrationHint test
  • "Migration from JSON config" section from specs/02-config.md
  • Updated CHANGELOG.md Removed entry to reflect no legacy support

345 tests pass.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • non-existent-server-for-auth-test
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/sql-change-tracker/sql-change-tracker/tests/SqlChangeTracker.Tests/bin/Debug/net8.0/SqlChangeTracker.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/sql-change-tracker/sql-change-tracker/tests/SqlChangeTracker.Tests/bin/Debug/net8.0/SqlChangeTracker.Tests.deps.json /home/REDACTED/work/sql-change-tracker/sql-change-tracker/tests/SqlChangeTracker.Tests/bin/Debug/net8.0/testhost.dll --port 44699 --endpoint 127.0.0.1:044699 --role client --parentprocessid 4161 --telemetryoptedin false (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI requested a review from zacateras April 13, 2026 09:07
@zacateras zacateras merged commit c806db7 into main Apr 13, 2026
4 checks passed
@zacateras zacateras deleted the copilot/research-yaml-config-replacement branch April 13, 2026 09:13
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