Files
PgTidy/testdata/lint/migration_violations.sql
warkanum 7fb76bae3d feat(lint): add linter rules for migration and naming conventions
* Implement migration safety rules:
  - MIG001: Warn on CREATE INDEX without CONCURRENT.
  - MIG002: Warn on ALTER TABLE ADD COLUMN NOT NULL without DEFAULT.
  - MIG003: Warn on ALTER TABLE ADD CONSTRAINT without NOT VALID.
* Implement naming conventions rules:
  - NAM001: Warn on non-snake_case table names.
  - NAM002: Warn on non-snake_case column names in CREATE TABLE.
  - NAM003: Warn on non-snake_case function names.
* Add test fixtures for all new rules.
2026-06-27 22:15:02 +02:00

16 lines
547 B
SQL

-- Fixtures for migration safety rules (MIG001-MIG003).
-- Every statement here should trigger at least one finding.
-- MIG001: non-concurrent index
CREATE INDEX idx_orders_user ON orders(user_id);
-- MIG002: ADD COLUMN NOT NULL without DEFAULT
ALTER TABLE orders ADD COLUMN status text NOT NULL;
-- MIG003: ADD FOREIGN KEY without NOT VALID
ALTER TABLE orders
ADD CONSTRAINT fk_orders_user FOREIGN KEY (user_id) REFERENCES users(id);
-- MIG003: ADD CHECK without NOT VALID
ALTER TABLE orders ADD CONSTRAINT chk_positive CHECK (amount > 0);