SQL

CREATE TABLE magic_tokens  (
  token TEXT PRIMARY KEY,
  -- 32 Bytes hex
  student_id INTEGER NOT NULL REFERENCES students(id) ON DELETE CASCADE,
  expires_at TEXT NOT NULL,
  consumed_at TEXT,
  -- NULL = noch nicht verwendet
  created_at TEXT NOT NULL DEFAULT (datetime('now')),
  ip TEXT
)

+ Add column

Columns

Column Data type Allow null Primary key Actions
token TEXT Rename | Drop
student_id INTEGER Rename | Drop
expires_at TEXT Rename | Drop
consumed_at TEXT Rename | Drop
created_at TEXT Rename | Drop
ip TEXT Rename | Drop

Foreign Keys

Column Destination
student_id students.id

+ Add index

Indexes

Name Columns Unique SQL Drop?
idx_magic_expires expires_at SQL
CREATE INDEX idx_magic_expires
ON magic_tokens(expires_at) WHERE consumed_at IS NULL
Drop
sqlite_autoindex_magic_tokens_1 token SQL
-- no sql found --
Drop