mirror of
https://github.com/pocket-id/pocket-id.git
synced 2026-02-14 17:02:27 +00:00
fix: auth fails when client IP is empty on Postgres (#695)
This commit is contained in:
committed by
GitHub
parent
dbf3da41f3
commit
031181ad2a
@@ -0,0 +1,4 @@
|
||||
ALTER TABLE audit_logs ALTER COLUMN ip_address SET NOT NULL;
|
||||
|
||||
DROP INDEX IF EXISTS idx_audit_logs_created_at;
|
||||
DROP INDEX IF EXISTS idx_audit_logs_user_agent;
|
||||
@@ -0,0 +1,5 @@
|
||||
ALTER TABLE audit_logs ALTER COLUMN ip_address DROP NOT NULL;
|
||||
|
||||
-- Add missing indexes
|
||||
CREATE INDEX idx_audit_logs_created_at ON audit_logs(created_at);
|
||||
CREATE INDEX idx_audit_logs_user_agent ON audit_logs(user_agent);
|
||||
@@ -0,0 +1,30 @@
|
||||
-- Re-create the table with non-nullable ip_address
|
||||
-- We then move the data and rename the table
|
||||
CREATE TABLE audit_logs_new
|
||||
(
|
||||
id TEXT NOT NULL PRIMARY KEY,
|
||||
created_at DATETIME,
|
||||
event TEXT NOT NULL,
|
||||
ip_address TEXT NOT NULL,
|
||||
user_agent TEXT NOT NULL,
|
||||
data BLOB NOT NULL,
|
||||
user_id TEXT REFERENCES users,
|
||||
country TEXT,
|
||||
city TEXT
|
||||
);
|
||||
|
||||
INSERT INTO audit_logs_new
|
||||
SELECT id, created_at, event, ip_address, user_agent, data, user_id, country, city
|
||||
FROM audit_logs;
|
||||
|
||||
DROP TABLE audit_logs;
|
||||
|
||||
ALTER TABLE audit_logs_new RENAME TO audit_logs;
|
||||
|
||||
-- Re-create indexes
|
||||
CREATE INDEX idx_audit_logs_event ON audit_logs(event);
|
||||
CREATE INDEX idx_audit_logs_created_at ON audit_logs(created_at);
|
||||
CREATE INDEX idx_audit_logs_user_id ON audit_logs(user_id);
|
||||
CREATE INDEX idx_audit_logs_user_agent ON audit_logs(user_agent);
|
||||
CREATE INDEX idx_audit_logs_client_name ON audit_logs((json_extract(data, '$.clientName')));
|
||||
CREATE INDEX idx_audit_logs_country ON audit_logs(country);
|
||||
@@ -0,0 +1,30 @@
|
||||
-- Re-create the table with nullable ip_address
|
||||
-- We then move the data and rename the table
|
||||
CREATE TABLE audit_logs_new
|
||||
(
|
||||
id TEXT NOT NULL PRIMARY KEY,
|
||||
created_at DATETIME,
|
||||
event TEXT NOT NULL,
|
||||
ip_address TEXT,
|
||||
user_agent TEXT NOT NULL,
|
||||
data BLOB NOT NULL,
|
||||
user_id TEXT REFERENCES users,
|
||||
country TEXT,
|
||||
city TEXT
|
||||
);
|
||||
|
||||
INSERT INTO audit_logs_new
|
||||
SELECT id, created_at, event, ip_address, user_agent, data, user_id, country, city
|
||||
FROM audit_logs;
|
||||
|
||||
DROP TABLE audit_logs;
|
||||
|
||||
ALTER TABLE audit_logs_new RENAME TO audit_logs;
|
||||
|
||||
-- Re-create indexes
|
||||
CREATE INDEX idx_audit_logs_event ON audit_logs(event);
|
||||
CREATE INDEX idx_audit_logs_created_at ON audit_logs(created_at);
|
||||
CREATE INDEX idx_audit_logs_user_id ON audit_logs(user_id);
|
||||
CREATE INDEX idx_audit_logs_user_agent ON audit_logs(user_agent);
|
||||
CREATE INDEX idx_audit_logs_client_name ON audit_logs((json_extract(data, '$.clientName')));
|
||||
CREATE INDEX idx_audit_logs_country ON audit_logs(country);
|
||||
Reference in New Issue
Block a user