drizzle-team / drizzle-kit-mirror

Docs and issues repository for drizzle-kit
291 stars 17 forks source link

[BUG]: Introspect doesn't put SQL defaults in sql wrapper #441

Open Sukairo-02 opened 3 months ago

Sukairo-02 commented 3 months ago

Kit: 0.21.4 Database: PostgreSQL

Description: Introspection of table with SQL script as default generates invalid schema

Source table:

CREATE SEQUENCE actor_actor_id_seq
    INCREMENT BY 1
    NO MAXVALUE
    NO MINVALUE
    CACHE 1;

CREATE TABLE actor (
    actor_id integer DEFAULT nextval('actor_actor_id_seq'::regclass) NOT NULL
);

Result:

export const actor = pgTable("actor", {
    actor_id: integer("actor_id").default(nextval('actor_actor_id_seq'::regclass)).primaryKey().notNull()
});

Expected:

export const actor = pgTable("actor", {
    actor_id: integer("actor_id").default(sql`nextval('actor_actor_id_seq'::regclass)`).primaryKey().notNull()
});
tehnorm commented 3 months ago

Also seeing this issue as well.

Screenshot 2024-06-13 at 12 49 55 PM