mirror of
https://github.com/zitadel/zitadel
synced 2024-11-22 00:39:36 +00:00
fb162a7d75
# Which Problems Are Solved During the implementation of #7486 it was noticed, that projections in the `auth` database schema could be blocked. Investigations suggested, that this is due to the use of [GORM](https://gorm.io/index.html) and it's inability to use an existing (sql) transaction. With the improved / simplified handling (see below) there should also be a minimal improvement in performance, resp. reduced database update statements. # How the Problems Are Solved The handlers in `auth` are exchanged to proper (sql) statements and gorm usage is removed for any writing part. To further improve / simplify the handling of the users, a new `auth.users3` table is created, where only attributes are handled, which are not yet available from the `projections.users`, `projections.login_name` and `projections.user_auth_methods` do not provide. This reduces the events handled in that specific handler by a lot. # Additional Changes None # Additional Context relates to #7486
17 lines
486 B
SQL
17 lines
486 B
SQL
CREATE TABLE IF NOT EXISTS auth.users3 (
|
|
instance_id TEXT NOT NULL,
|
|
id TEXT NOT NULL,
|
|
resource_owner TEXT NOT NULL,
|
|
change_date TIMESTAMPTZ NULL,
|
|
password_set BOOL NULL,
|
|
password_change TIMESTAMPTZ NULL,
|
|
last_login TIMESTAMPTZ NULL,
|
|
init_required BOOL NULL,
|
|
mfa_init_skipped TIMESTAMPTZ NULL,
|
|
username_change_required BOOL NULL,
|
|
passwordless_init_required BOOL NULL,
|
|
password_init_required BOOL NULL,
|
|
|
|
PRIMARY KEY (instance_id, id)
|
|
)
|