Eugene 🔒 lint report of examples/E7/bad/1.sql

This is a human readable SQL script safety report generated by eugene. Keep in mind that lints can be ignored by adding a -- eugene: ignore E123 comment to the SQL statement or by passing --ignore E123 on the command line.

The migration script passed all the checks ✅

Statement number 1

SQL

-- 1.sql
create table authors(
    id integer generated always as identity
        primary key,
    name text not null
)

No checks matched for this statement. ✅

Eugene 🔒 lint report of examples/E7/bad/2.sql

This is a human readable SQL script safety report generated by eugene. Keep in mind that lints can be ignored by adding a -- eugene: ignore E123 comment to the SQL statement or by passing --ignore E123 on the command line.

The migration script did not pass all the checks ❌

Statement number 1

SQL

-- 2.sql
set local lock_timeout = '2s'

No checks matched for this statement. ✅

Statement number 2

SQL

alter table authors
    add constraint unique_name unique(name)

Lints

Creating a new unique constraint

ID: E7

Adding a new unique constraint implicitly creates index. This blocks all writes to the table while the index is being created and validated. A safer way is: CREATE UNIQUE INDEX CONCURRENTLY, then add the constraint using the index.

New constraint unique_name creates implicit index on public.authors, blocking writes until index is created and validated.