Postgres's Serial column type doesn't automatically have a default

Hello, when using postgres's serial types, and setting them as primary keys, there is an issue currently that does not mark them as has default. What I mean is, from the docs The data types smallserial, serial and bigserial are not true types, but merely a notational convenience for creating unique identifier columns (similar to the AUTO_INCREMENT property supported by some other databases), the Serial types already have a default implementation, but if you use them as is in Drizzle, they aren't regarded as having a default
type NewTest = InferModel<typeof test, 'insert'>;
^? type NewTest = {
id: number; <-- Should be nullable
}

export const test = pgTable("test", {
id: smallserial('id').primaryKey(),
});
type NewTest = InferModel<typeof test, 'insert'>;
^? type NewTest = {
id: number; <-- Should be nullable
}

export const test = pgTable("test", {
id: smallserial('id').primaryKey(),
});
I'd expect it to be nullable for inserts as serials have default
bloberenober
bloberenober•355d ago
Looks like a bug, could you create an issue on GH please?
volks
volks•354d ago
GitHub
[BUG]: Serial type in PostgreSQL not recognized as having a default...
What version of drizzle-orm are you using? 0.26.1 What version of drizzle-kit are you using? 0.18.1 Describe the Bug I have encountered an issue with handling PostgreSQL's serial types (smallse...
Antebios
Antebios•347d ago
Thank you! I thought I was going crazy, but I have the same issue.
kstc23boi
kstc23boi•325d ago
+1 here
kstc23boi
kstc23boi•325d ago
GitHub
PostgreSQL: add generated always as identity as modern alternativ...
It's basically the newer (and recommended) way to make auto incrementing columns. Example: create table old_way (id serial primary key); create table new_way (id integer primary key generated a...
GitHub
Support generated columns · Issue #261 · drizzle-team/drizzle-orm
CREATE TABLE t1( a INTEGER PRIMARY KEY, b INT, c TEXT, d INT GENERATED ALWAYS AS (a*abs(b)) VIRTUAL, e TEXT GENERATED ALWAYS AS (substr(c,b,b+1)) STORED );
Want results from more Discord servers?
Add your server
More Posts
How to insert into a table without providing valuesI've got the following schema for users in sqlite, it only contains an id, which is an auto incremenDoent infer type in Callback syntax for queryIm querying the users table like this `db.query.user.findFirst({ where: (user, { eq }) => { Bug When Trying To Increment A Fieldthis set the field to 0 instead of increasing by one it used to work in other routes ``` await Maximum call stack exceeded with relation to selfI have the following table ``` export const category = pgTable('categories', { id: serial('id').importing into schema.ts fileHi, I am using turborepo and I have defined my schema in `packages/schema/user.ts` and in my main AWhat versions of MySQL are supported? I have JSON_ARRAYAGG issues with 5.7 and AWS Aurora ServerlessCan you confirm what versions of MySQL you intend on supporting? Relational queries with joins use J`$with` example in docs error "unsupported: with expression in select statement"I have a user with id of 42, just like the docs https://orm.drizzle.team/docs/crud#with-clause but Infer type for relational queryIs there anyway to infer the type of a relational queries result? For example if I have a user who in drizzle.config.ts: "Cannot use import statement outside a module"happens when I try to `push` ```ts import type { Config } from "drizzle-kit"; import { env } from "Error when using Drizzle (Non-abstract class 'PgSelect<TTableName, TSelection, TSelectMode, [...])I'm getting the following error when I try to use Drizzle: ```> graphql-server@1.0.0 start > npm runGenerate classes/interfaces from existing schemas?Messing around with drizzle, and I was wondering if there was any way to generate a class or interfaRelation Query - Get likes in postPlaying around with relational queries and I'm not quite getting how I'd retrieve the count of likes