-
-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build(deps): update dependency drizzle-orm to v0.35.3 #702
Open
renovate
wants to merge
1
commit into
main
Choose a base branch
from
renovate/drizzle-orm-0.x
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Branch automerge failureThis PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Skipped Deployment
|
renovate
bot
force-pushed
the
renovate/drizzle-orm-0.x
branch
4 times, most recently
from
April 2, 2024 02:01
c7b8eeb
to
f291111
Compare
renovate
bot
changed the title
build(deps): update dependency drizzle-orm to v0.30.6
build(deps): update dependency drizzle-orm to v0.30.7
Apr 3, 2024
renovate
bot
force-pushed
the
renovate/drizzle-orm-0.x
branch
10 times, most recently
from
April 9, 2024 10:58
8127784
to
4e5e16b
Compare
renovate
bot
force-pushed
the
renovate/drizzle-orm-0.x
branch
2 times, most recently
from
April 11, 2024 10:05
e07dcc9
to
9d8a962
Compare
renovate
bot
changed the title
build(deps): update dependency drizzle-orm to v0.30.7
build(deps): update dependency drizzle-orm to v0.30.8
Apr 11, 2024
renovate
bot
force-pushed
the
renovate/drizzle-orm-0.x
branch
3 times, most recently
from
April 15, 2024 23:13
b114a1c
to
007de52
Compare
renovate
bot
force-pushed
the
renovate/drizzle-orm-0.x
branch
3 times, most recently
from
April 21, 2024 15:35
7ea8731
to
8fde36f
Compare
renovate
bot
changed the title
build(deps): update dependency drizzle-orm to v0.30.8
build(deps): update dependency drizzle-orm to v0.30.9
Apr 21, 2024
renovate
bot
force-pushed
the
renovate/drizzle-orm-0.x
branch
2 times, most recently
from
April 24, 2024 03:33
d517e8d
to
a785e83
Compare
renovate
bot
force-pushed
the
renovate/drizzle-orm-0.x
branch
from
August 24, 2024 10:46
88db423
to
cba6678
Compare
Deployment failed with the following error:
|
renovate
bot
force-pushed
the
renovate/drizzle-orm-0.x
branch
from
August 26, 2024 16:14
cba6678
to
53fe8b0
Compare
renovate
bot
force-pushed
the
renovate/drizzle-orm-0.x
branch
5 times, most recently
from
September 15, 2024 23:15
21c5379
to
c19e36a
Compare
Deployment failed with the following error:
|
renovate
bot
force-pushed
the
renovate/drizzle-orm-0.x
branch
2 times, most recently
from
September 24, 2024 22:36
95381da
to
56cda38
Compare
renovate
bot
force-pushed
the
renovate/drizzle-orm-0.x
branch
2 times, most recently
from
October 7, 2024 16:08
a2bd1cb
to
df1a026
Compare
renovate
bot
changed the title
build(deps): update dependency drizzle-orm to v0.33.0
build(deps): update dependency drizzle-orm to v0.34.0
Oct 7, 2024
renovate
bot
force-pushed
the
renovate/drizzle-orm-0.x
branch
2 times, most recently
from
October 7, 2024 21:25
5795309
to
9ce1c9e
Compare
renovate
bot
changed the title
build(deps): update dependency drizzle-orm to v0.34.0
build(deps): update dependency drizzle-orm to v0.34.1
Oct 7, 2024
renovate
bot
force-pushed
the
renovate/drizzle-orm-0.x
branch
from
October 8, 2024 22:56
9ce1c9e
to
2cacd26
Compare
renovate
bot
force-pushed
the
renovate/drizzle-orm-0.x
branch
from
October 15, 2024 22:57
2cacd26
to
69412ee
Compare
renovate
bot
changed the title
build(deps): update dependency drizzle-orm to v0.34.1
build(deps): update dependency drizzle-orm to v0.35.0
Oct 15, 2024
renovate
bot
force-pushed
the
renovate/drizzle-orm-0.x
branch
2 times, most recently
from
October 16, 2024 12:04
7747abe
to
97a84fd
Compare
Deployment failed with the following error:
|
renovate
bot
changed the title
build(deps): update dependency drizzle-orm to v0.35.0
build(deps): update dependency drizzle-orm to v0.35.1
Oct 16, 2024
renovate
bot
force-pushed
the
renovate/drizzle-orm-0.x
branch
2 times, most recently
from
October 18, 2024 13:07
f61579a
to
b4decb5
Compare
renovate
bot
changed the title
build(deps): update dependency drizzle-orm to v0.35.1
build(deps): update dependency drizzle-orm to v0.35.2
Oct 18, 2024
renovate
bot
force-pushed
the
renovate/drizzle-orm-0.x
branch
from
October 21, 2024 21:15
b4decb5
to
145d8ed
Compare
renovate
bot
changed the title
build(deps): update dependency drizzle-orm to v0.35.2
build(deps): update dependency drizzle-orm to v0.35.3
Oct 21, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.31.0
->0.35.3
Release Notes
drizzle-team/drizzle-orm (drizzle-orm)
v0.35.3
Compare Source
New LibSQL driver modules
Drizzle now has native support for all
@libsql/client
driver variations:@libsql/client
- defaults to node import, automatically changes to web if target or platform is set for bundler, e.g.esbuild --platform=browser
@libsql/client/node
node compatible module, supports :memory:, file, wss, http and turso connection protocols@libsql/client/web
module for fullstack web frameworks like next, nuxt, astro, etc.@libsql/client/http
module for http and https connection protocols@libsql/client/ws
module for ws and wss connection protocols@libsql/client/sqlite3
module for :memory: and file connection protocols@libsql/client-wasm
Separate experimental package for WASMv0.35.2
Compare Source
We've added approximately 240 tests to check the ESM and CJS builds for all the drivers we have. You can check them here
v0.35.1
Compare Source
v0.35.0
Compare Source
Important change after 0.34.0 release
Updated the init Drizzle database API
The API from version 0.34.0 turned out to be unusable and needs to be changed. You can read more about our decisions in this discussion
If you still want to use the new API introduced in 0.34.0, which can create driver clients for you under the hood, you can now do so
in order to not introduce breaking change - we will still leave support for deprecated API until V1 release.
It will degrade autocomplete performance in connection params due to
DatabaseDriver
|ConnectionParams
types collision,but that's a decent compromise against breaking changes
New Features
New .orderBy() and .limit() functions in update and delete statements SQLite and MySQL
You now have more options for the
update
anddelete
query builders in MySQL and SQLiteExample
New
drizzle.mock()
functionThere were cases where you didn't need to provide a driver to the Drizzle object, and this served as a workaround
Now you can do this using a mock function
There is no valid production use case for this, but we used it in situations where we needed to check types, etc., without making actual database calls or dealing with driver creation. If anyone was using it, please switch to using mocks now
Internal updates
Bug fixes
v0.34.1
Compare Source
/connect
modulev0.34.0
Compare Source
Breaking changes and migrate guide for Turso users
If you are using Turso and libsql, you will need to upgrade your
drizzle.config
and@libsql/client
package.@libsql/client@0.10.0
or higher if you are using themigrate
function. For other use cases, you can continue using previous versions(But the suggestion is to upgrade)To install the latest version, use the command:
drizzle.config
for SQLite and Turso users, which allowed a shared strategy for both dialects. Starting with this release, we are introducing the turso dialect in drizzle-kit. We will evolve and improve Turso as a separate dialect with its own migration strategies.Before
After
If you are using only SQLite, you can use
dialect: "sqlite"
LibSQL/Turso and Sqlite migration updates
SQLite "generate" and "push" statements updates
Starting from this release, we will no longer generate comments like this:
We will generate a set of statements, and you can decide if it's appropriate to create data-moving statements instead. Here is an example of the SQL file you'll receive now:
LibSQL/Turso "generate" and "push" statements updates
Since LibSQL supports more ALTER statements than SQLite, we can generate more statements without recreating your schema and moving all the data, which can be potentially dangerous for production environments.
LibSQL and Turso will now have a separate dialect in the Drizzle config file, meaning that we will evolve Turso and LibSQL independently from SQLite and will aim to support as many features as Turso/LibSQL offer.
With the updated LibSQL migration strategy, you will have the ability to:
You can find more information in the LibSQL documentation
LIMITATIONS
This is because LibSQL/Turso does not support dropping this type of foreign key.
If the table has indexes, altering columns will cause index recreation:
Drizzle-Kit will drop the indexes, modify the columns, and then create the indexes.
Adding or dropping composite foreign keys is not supported and will cause table recreation.
Primary key columns can not be altered and will cause table recreation.
Altering columns that are part of foreign key will cause table recreation.
NOTES
See more: https://www.sqlite.org/foreignkeys.html
A new and easy way to start using drizzle
Current and the only way to do, is to define client yourself and pass it to drizzle
But we want to introduce you to a new API, which is a simplified method in addition to the existing one.
Most clients will have a few options to connect, starting with the easiest and most common one, and allowing you to control your client connection as needed.
Let's use
node-postgres
as an example, but the same pattern can be applied to all other clientsA few clients will have a slightly different API due to their specific behavior. Let's take a look at them:
For
aws-data-api-pg
, Drizzle will requireresourceArn
,database
, andsecretArn
, along with any other AWS Data API client types for the connection, such as credentials, region, etc.For
d1
, the CloudFlare Worker types as described in the documentation here will be required.For
vercel-postgres
, nothing is needed since Vercel automatically retrieves thePOSTGRES_URL
from the.env
file. You can check this documentation for more infoOptional names for columns and callback in drizzle table
We believe that schema definition in Drizzle is extremely powerful and aims to be as close to SQL as possible while adding more helper functions for JS runtime values.
However, there are a few areas that could be improved, which we addressed in this release. These include:
Let's look at an example with PostgreSQL (this applies to all the dialects supported by Drizzle)
Previously
The previous table definition will still be valid in the new release, but it can be replaced with this instead
New
casing
param indrizzle-orm
anddrizzle-kit
There are more improvements you can make to your schema definition. The most common way to name your variables in a database and in TypeScript code is usually
snake_case
in the database andcamelCase
in the code. For this case, in Drizzle, you can now define a naming strategy in your database to help Drizzle map column keys automatically. Let's take a table from the previous example and make it work with the new casing API in DrizzleTable can now become:
As you can see,
inStock
doesn't have a database name alias, but by defining the casing configuration at the connection level, all queries will automatically map it tosnake_case
For
drizzle-kit
migrations generation you should also specifycasing
param in drizzle config, so you can be sure you casing strategy will be applied to drizzle-kit as wellNew "count" API
Before this release to count entities in a table, you would need to do this:
The new API will look like this:
This can also work as a subquery and within relational queries
Ability to execute raw strings instead of using SQL templates for raw queries
Previously, you would have needed to do this to execute a raw query with Drizzle
You can now do this as well
You can now access the driver client from Drizzle db instance
v0.33.0
Compare Source
Breaking changes (for some of postgres.js users)
Bugs fixed for this breaking change
If you were using
postgres-js
withjsonb
fields, you might have seen stringified objects in your database, while drizzle insert and select operations were working as expected.You need to convert those fields from strings to actual JSON objects. To do this, you can use the following query to update your database:
if you are using jsonb:
if you are using json:
We've tested it in several cases, and it worked well, but only if all stringified objects are arrays or objects. If you have primitives like strings, numbers, booleans, etc., you can use this query to update all the fields
if you are using jsonb:
if you are using json:
If nothing works for you and you are blocked, please reach out to me @AndriiSherman. I will try to help you!
Bug Fixes
v0.32.2
Compare Source
AnySQLiteUpdate
- thanks @veloiiv0.32.1
Compare Source
v0.32.0
Compare Source
Release notes for
drizzle-orm@0.32.0
anddrizzle-kit@0.23.0
New Features
🎉 MySQL
$returningId()
functionMySQL itself doesn't have native support for
RETURNING
after usingINSERT
. There is only one way to do it forprimary keys
withautoincrement
(orserial
) types, where you can accessinsertId
andaffectedRows
fields. We've prepared an automatic way for you to handle such cases with Drizzle and automatically receive all inserted IDs as separate objectsAlso with Drizzle, you can specify a
primary key
with$default
function that will generate custom primary keys at runtime. We will also return those generated keys for you in the$returningId()
call🎉 PostgreSQL Sequences
You can now specify sequences in Postgres within any schema you need and define all the available properties
Example
🎉 PostgreSQL Identity Columns
Source: As mentioned, the
serial
type in Postgres is outdated and should be deprecated. Ideally, you should not use it.Identity columns
are the recommended way to specify sequences in your schema, which is why we are introducing theidentity columns
featureExample
You can specify all properties available for sequences in the
.generatedAlwaysAsIdentity()
function. Additionally, you can specify custom names for these sequencesPostgreSQL docs reference.
🎉 PostgreSQL Generated Columns
You can now specify generated columns on any column supported by PostgreSQL to use with generated columns
Example with generated column for
tsvector
In case you don't need to reference any columns from your table, you can use just
sql
template or astring
🎉 MySQL Generated Columns
You can now specify generated columns on any column supported by MySQL to use with generated columns
You can specify both
stored
andvirtual
options, for more info you can check MySQL docsAlso MySQL has a few limitation for such columns usage, which is described here
Drizzle Kit will also have limitations for
push
command:You can't change the generated constraint expression and type using
push
. Drizzle-kit will ignore this change. To make it work, you would need todrop the column
,push
, and thenadd a column with a new expression
. This was done due to the complex mapping from the database side, where the schema expression will be modified on the database side and, on introspection, we will get a different string. We can't be sure if you changed this expression or if it was changed and formatted by the database. As long as these are generated columns andpush
is mostly used for prototyping on a local database, it should be fast todrop
andcreate
generated columns. Since these columns aregenerated
, all the data will be restoredgenerate
should have no limitationsExample
In case you don't need to reference any columns from your table, you can use just
sql
template or astring
in.generatedAlwaysAs()
🎉 SQLite Generated Columns
You can now specify generated columns on any column supported by SQLite to use with generated columns
You can specify both
stored
andvirtual
options, for more info you can check SQLite docsAlso SQLite has a few limitation for such columns usage, which is described here
Drizzle Kit will also have limitations for
push
andgenerate
command:You can't change the generated constraint expression with the stored type in an existing table. You would need to delete this table and create it again. This is due to SQLite limitations for such actions. We will handle this case in future releases (it will involve the creation of a new table with data migration).
You can't add a
stored
generated expression to an existing column for the same reason as above. However, you can add avirtual
expression to an existing column.You can't change a
stored
generated expression in an existing column for the same reason as above. However, you can change avirtual
expression.You can't change the generated constraint type from
virtual
tostored
for the same reason as above. However, you can change fromstored
tovirtual
.New Drizzle Kit features
🎉 Migrations support for all the new orm features
PostgreSQL sequences, identity columns and generated columns for all dialects
🎉 New flag
--force
fordrizzle-kit push
You can auto-accept all data-loss statements using the push command. It's only available in CLI parameters. Make sure you always use it if you are fine with running data-loss statements on your database
🎉 New
migrations
flagprefix
You can now customize migration file prefixes to make the format suitable for your migration tools:
index
is the default type and will result in0001_name.sql
file names;supabase
andtimestamp
are equal and will result in20240627123900_name.sql
file names;unix
will result in unix seconds prefixes1719481298_name.sql
file names;none
will omit the prefix completely;Example: Supabase migrations format
v0.31.4
Compare Source
v0.31.3
Compare Source
Bug fixed
New Prisma-Drizzle extension
For more info, check docs: https://orm.drizzle.team/docs/prisma
v0.31.2
Compare Source
🎉 Added support for TiDB Cloud Serverless driver:
v0.31.1
Compare Source
New Features
Live Queries 🎉
As of
v0.31.1
Drizzle ORM now has native support for Expo SQLite Live Queries!We've implemented a native
useLiveQuery
React Hook which observes necessary database changes and automatically re-runs database queries. It works with both SQL-like and Drizzle Queries:We've intentionally not changed the API of ORM itself to stay with conventional React Hook API, so we have
useLiveQuery(databaseQuery)
as opposed todb.select().from(users).useLive()
ordb.query.users.useFindMany()
We've also decided to provide
data
,error
andupdatedAt
fields as a result of hook for concise explicit error handling following practices ofReact Query
andElectric SQL
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.