@@ -48,7 +48,7 @@ closure handling. Keep the reconnect regression tests when upgrading.
4848
4949# Drizzle development push policy
5050
51- ` drizzle-kit@0.31.10 ` prompts when it sees both additions and removals, even with
51+ ` drizzle-kit@0.31.11 ` prompts when it sees both additions and removals, even with
5252` --force ` . Its PostgreSQL push path also catches errors and exits successfully,
5353which lets post-push work run against a schema that was not applied.
5454
@@ -57,8 +57,11 @@ resolvers and makes PostgreSQL push failures and cancellations return nonzero.
5757` packages/db/scripts/push.ts ` enables the policy only in its Drizzle subprocess
5858using ` SIM_DB_PUSH_RENAME_MODE=create ` . ` --interactive-renames ` selects the native
5959chooser and requires a terminal. Normal migration generation keeps its rename
60- prompts. Data-loss confirmations, table filters, introspection, and generated SQL
61- remain owned by Drizzle; ` --force ` still controls data-loss approval.
60+ prompts. Data-loss confirmations, table filters, and generated SQL remain owned
61+ by Drizzle; ` --force ` still controls data-loss approval. Introspection changes in
62+ one place: PostgreSQL unique constraints read their columns from
63+ ` key_column_usage ` in ordinal order, so a composite unique constraint is compared
64+ by its own columns in declared order.
6265
6366The same policy answers Drizzle's prompt to truncate a populated table before
6467adding a unique constraint with its non-destructive choice: the constraint is
0 commit comments