Skip to content

Fix PostgreSQL constraint migrations and refresh LQL docs#52

Merged
MelbourneDeveloper merged 7 commits intomainfrom
fixesandlqldocs
May 7, 2026
Merged

Fix PostgreSQL constraint migrations and refresh LQL docs#52
MelbourneDeveloper merged 7 commits intomainfrom
fixesandlqldocs

Conversation

@MelbourneDeveloper
Copy link
Copy Markdown
Collaborator

TLDR

Fix PostgreSQL migration constraint handling, add LQL IN (...) predicate support, and refresh the LQL documentation site/deploy shape.

What Was Added?

  • Added repo-local .agents/skills/* skill definitions and converted .claude/skills/* files to pointers.
  • Added SchemaConstraintNames plus PostgreSQL migration tests for named column check constraints and constraint-backed unique index drops.
  • Added vendored React/ReactDOM browser assets for the reporting React renderer.

What Was Changed or Deleted?

  • LQL now emits SQL for lambda in (...) membership predicates, used by function body LQL/RLS predicate flows.
  • PostgreSQL migration diffing now detects unique constraints and column/table check constraints, preserves inspected constraint names, and drops constraint-backed indexes by dropping the owning constraint when needed.
  • The LQL website deploy workflow now builds the Eleventy docs site, publishes the Blazor transpiler under /playground/, and uploads the Eleventy _site artifact.
  • The LQL Eleventy site was consolidated into a single docs-focused landing page; old per-topic generated/source docs pages and the standalone playground source were removed.
  • Updated LQL and migration specs to document in (...), named column check constraints, unique constraint inspection, and constraint-backed index drops.

Related issues: #48, #49, #50, #51.

How Do The Automated Tests Prove It Works?

  • make ci completed with exit code 0 locally during PR preparation.
  • PostgresColumnCheckConstraintTests.ApplyYaml_WhenColumnCheckConstraintHasName_CreatesNamedPostgresConstraints proves named YAML column checks materialize as PostgreSQL constraints and are idempotent after inspection.
  • PostgresDropConstraintBackedIndexTests.DropIndex_WhenIndexBacksUniqueConstraint_DropsConstraint proves destructive unique removal drops the owning PostgreSQL constraint instead of failing on DROP INDEX.
  • PostgresDropConstraintBackedIndexTests.Calculate_WhenUniqueConstraintSchemaConverged_DoesNotDropBackingIndex proves inspected unique constraints do not cause false destructive drops.
  • TranslatePostgresBody_ExistsPipelineWithInList_EmitsInPredicate proves LQL body predicates emit IN (...) SQL.
  • InvalidCharacter_ShouldReturnLexerError proves lexer errors surface as structured LQL errors with positions.

Spec / Doc Changes

  • Updated docs/specs/lql-spec.md for in (...) predicate support.
  • Updated docs/specs/migration-spec.md for named column check constraints, PostgreSQL unique constraint inspection, and constraint-backed index drops.
  • Reworked LQL website docs/navigation/deploy output and refreshed the Blazor playground mount path.

Breaking Changes

  • None

@MelbourneDeveloper MelbourneDeveloper merged commit f015e3e into main May 7, 2026
3 checks passed
@MelbourneDeveloper MelbourneDeveloper deleted the fixesandlqldocs branch May 7, 2026 01:25
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.

1 participant