You can specify .$type<..>() for blob inference, it won’t check runtime values.
It provides compile time protection for default values, insert and select schemas.
SQLite does not have native boolean data type, yet you can specify integer column to be in a boolean mode.
This allows you to operate boolean values in your code and Drizzle stores them as 0 and 1 integer
values in the database.
Since there is no bigint data type in SQLite, Drizzle offers a special bigint mode for blob columns.
This mode allows you to work with BigInt instances in your code, and Drizzle stores them as blob values in the database.
Customizing column data type
Every column builder has a .$type() method, which allows you to customize the data type of the column. This is useful, for example, with unknown or branded types.
NOT NULL constraint dictates that the associated column may not contain a NULL value.
The DEFAULT clause specifies a default value to use for the column if no value
is explicitly provided by the user when doing an INSERT.
If there is no explicit DEFAULT clause attached to a column definition,
then the default value of the column is NULL.
An explicit DEFAULT clause may specify that the default value is NULL,
a string constant, a blob constant, a signed-number, or any constant expression enclosed in parentheses.
A default value may also be one of the special case-independent keywords CURRENT_TIME, CURRENT_DATE or CURRENT_TIMESTAMP.
When using $default() or $defaultFn(), which are simply different aliases for the same function,
you can generate defaults at runtime and use these values in all insert queries.
These functions can assist you in utilizing various implementations such as uuid, cuid, cuid2, and many more.
Note: This value does not affect the drizzle-kit behavior, it is only used at runtime in drizzle-orm