Eugene 🔒 lint report of examples/E3/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 did not pass all the checks ❌

Statement number 1

SQL

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

Lints

Add a new JSON column

ID: E3

A new column of type json was added to a table. This breaks SELECT DISTINCT queries or other operations that need equality checks on the column. A safer way is: Use the jsonb type instead, it supports all use-cases of json and is more robust and compact.

Created column meta with type json. The json type does not support equality and should not be used, use jsonb instead.