SQL
CREATE TABLE audit_log (
id TEXT PRIMARY KEY,
event_type TEXT NOT NULL,
entity_type TEXT NOT NULL,
entity_id TEXT NOT NULL,
entity_data TEXT,
performed_by TEXT,
performed_at DATETIME DEFAULT CURRENT_TIMESTAMP,
organisation_id TEXT,
FOREIGN KEY (performed_by) REFERENCES users(id) ON DELETE SET NULL,
FOREIGN KEY (organisation_id) REFERENCES organisations(id) ON DELETE CASCADE
)
Columns
| Column | Data type | Allow null | Primary key | Actions |
|---|---|---|---|---|
id |
TEXT |
✓ | ✓ | Rename | Drop |
event_type |
TEXT |
Rename | Drop | ||
entity_type |
TEXT |
Rename | Drop | ||
entity_id |
TEXT |
Rename | Drop | ||
entity_data |
TEXT |
✓ | Rename | Drop | |
performed_by |
TEXT |
✓ | Rename | Drop | |
performed_at |
DATETIME |
✓ | Rename | Drop | |
organisation_id |
TEXT |
✓ | Rename | Drop |
Foreign Keys
| Column | Destination |
|---|---|
organisation_id |
organisations.id |
performed_by |
users.id |
Indexes
| Name | Columns | Unique | SQL | Drop? |
|---|---|---|---|---|
| idx_audit_log_entity |
|
SQL | Drop | |
| idx_audit_log_event_type |
event_type
|
SQL | Drop | |
| idx_audit_log_organisation |
organisation_id
|
SQL | Drop | |
| idx_audit_log_performed_at |
performed_at
|
SQL | Drop | |
| sqlite_autoindex_audit_log_1 |
id
|
✓ | SQL | Drop |