1
0
mirror of https://github.com/delight-im/PHP-Auth.git synced 2025-08-06 16:16:29 +02:00

Add length constraints to SQLite text columns to match MySQL/Postgres

This commit is contained in:
Marco
2025-04-24 09:04:10 +02:00
parent ea6cbf6089
commit 233640502c

View File

@@ -6,9 +6,9 @@ PRAGMA foreign_keys = OFF;
CREATE TABLE "users" ( CREATE TABLE "users" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
"email" TEXT NOT NULL COLLATE NOCASE, "email" TEXT NOT NULL COLLATE NOCASE CHECK (LENGTH("email") <= 249),
"password" TEXT NOT NULL COLLATE BINARY, "password" TEXT NOT NULL COLLATE BINARY CHECK (LENGTH("password") <= 255),
"username" TEXT DEFAULT NULL COLLATE NOCASE, "username" TEXT DEFAULT NULL COLLATE NOCASE CHECK (LENGTH("username") <= 100),
"status" INTEGER NOT NULL CHECK ("status" >= 0) DEFAULT 0, "status" INTEGER NOT NULL CHECK ("status" >= 0) DEFAULT 0,
"verified" INTEGER NOT NULL CHECK ("verified" >= 0 AND "verified" <= 1) DEFAULT 0, "verified" INTEGER NOT NULL CHECK ("verified" >= 0 AND "verified" <= 1) DEFAULT 0,
"resettable" INTEGER NOT NULL CHECK ("resettable" >= 0 AND "resettable" <= 1) DEFAULT 1, "resettable" INTEGER NOT NULL CHECK ("resettable" >= 0 AND "resettable" <= 1) DEFAULT 1,
@@ -23,7 +23,7 @@ CREATE TABLE "users_2fa" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
"user_id" INTEGER NOT NULL CHECK ("user_id" >= 0), "user_id" INTEGER NOT NULL CHECK ("user_id" >= 0),
"mechanism" INTEGER NOT NULL CHECK ("mechanism" >= 0), "mechanism" INTEGER NOT NULL CHECK ("mechanism" >= 0),
"seed" TEXT DEFAULT NULL COLLATE BINARY, "seed" TEXT DEFAULT NULL COLLATE BINARY CHECK (LENGTH("seed") <= 255),
"created_at" INTEGER NOT NULL CHECK ("created_at" >= 0), "created_at" INTEGER NOT NULL CHECK ("created_at" >= 0),
"expires_at" INTEGER CHECK ("expires_at" >= 0) DEFAULT NULL, "expires_at" INTEGER CHECK ("expires_at" >= 0) DEFAULT NULL,
CONSTRAINT "users_2fa_user_id_mechanism_uq" UNIQUE ("user_id", "mechanism") CONSTRAINT "users_2fa_user_id_mechanism_uq" UNIQUE ("user_id", "mechanism")
@@ -32,9 +32,9 @@ CREATE TABLE "users_2fa" (
CREATE TABLE "users_confirmations" ( CREATE TABLE "users_confirmations" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
"user_id" INTEGER NOT NULL CHECK ("user_id" >= 0), "user_id" INTEGER NOT NULL CHECK ("user_id" >= 0),
"email" TEXT NOT NULL COLLATE NOCASE, "email" TEXT NOT NULL COLLATE NOCASE CHECK (LENGTH("email") <= 249),
"selector" TEXT NOT NULL COLLATE BINARY, "selector" TEXT NOT NULL COLLATE BINARY CHECK (LENGTH("selector") <= 16),
"token" TEXT NOT NULL COLLATE BINARY, "token" TEXT NOT NULL COLLATE BINARY CHECK (LENGTH("token") <= 255),
"expires" INTEGER NOT NULL CHECK ("expires" >= 0), "expires" INTEGER NOT NULL CHECK ("expires" >= 0),
CONSTRAINT "users_confirmations_selector_uq" UNIQUE ("selector") CONSTRAINT "users_confirmations_selector_uq" UNIQUE ("selector")
); );
@@ -46,8 +46,8 @@ CREATE TABLE "users_otps" (
"user_id" INTEGER NOT NULL CHECK ("user_id" >= 0), "user_id" INTEGER NOT NULL CHECK ("user_id" >= 0),
"mechanism" INTEGER NOT NULL CHECK ("mechanism" >= 0), "mechanism" INTEGER NOT NULL CHECK ("mechanism" >= 0),
"single_factor" INTEGER NOT NULL CHECK ("single_factor" >= 0 AND "single_factor" <= 1) DEFAULT 0, "single_factor" INTEGER NOT NULL CHECK ("single_factor" >= 0 AND "single_factor" <= 1) DEFAULT 0,
"selector" TEXT NOT NULL COLLATE BINARY, "selector" TEXT NOT NULL COLLATE BINARY CHECK (LENGTH("selector") <= 24),
"token" TEXT NOT NULL COLLATE BINARY, "token" TEXT NOT NULL COLLATE BINARY CHECK (LENGTH("token") <= 255),
"expires_at" INTEGER CHECK ("expires_at" >= 0) DEFAULT NULL "expires_at" INTEGER CHECK ("expires_at" >= 0) DEFAULT NULL
); );
CREATE INDEX "users_otps_user_id_mechanism_ix" ON "users_otps" ("user_id", "mechanism"); CREATE INDEX "users_otps_user_id_mechanism_ix" ON "users_otps" ("user_id", "mechanism");
@@ -56,8 +56,8 @@ CREATE INDEX "users_otps_selector_user_id_ix" ON "users_otps" ("selector", "user
CREATE TABLE "users_remembered" ( CREATE TABLE "users_remembered" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
"user" INTEGER NOT NULL CHECK ("user" >= 0), "user" INTEGER NOT NULL CHECK ("user" >= 0),
"selector" TEXT NOT NULL COLLATE BINARY, "selector" TEXT NOT NULL COLLATE BINARY CHECK (LENGTH("selector") <= 24),
"token" TEXT NOT NULL COLLATE BINARY, "token" TEXT NOT NULL COLLATE BINARY CHECK (LENGTH("token") <= 255),
"expires" INTEGER NOT NULL CHECK ("expires" >= 0), "expires" INTEGER NOT NULL CHECK ("expires" >= 0),
CONSTRAINT "users_remembered_selector_uq" UNIQUE ("selector") CONSTRAINT "users_remembered_selector_uq" UNIQUE ("selector")
); );
@@ -66,15 +66,15 @@ CREATE INDEX "users_remembered_user_ix" ON "users_remembered" ("user");
CREATE TABLE "users_resets" ( CREATE TABLE "users_resets" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
"user" INTEGER NOT NULL CHECK ("user" >= 0), "user" INTEGER NOT NULL CHECK ("user" >= 0),
"selector" TEXT NOT NULL COLLATE BINARY, "selector" TEXT NOT NULL COLLATE BINARY CHECK (LENGTH("selector") <= 20),
"token" TEXT NOT NULL COLLATE BINARY, "token" TEXT NOT NULL COLLATE BINARY CHECK (LENGTH("token") <= 255),
"expires" INTEGER NOT NULL CHECK ("expires" >= 0), "expires" INTEGER NOT NULL CHECK ("expires" >= 0),
CONSTRAINT "users_resets_selector_uq" UNIQUE ("selector") CONSTRAINT "users_resets_selector_uq" UNIQUE ("selector")
); );
CREATE INDEX "users_resets_user_expires_ix" ON "users_resets" ("user", "expires"); CREATE INDEX "users_resets_user_expires_ix" ON "users_resets" ("user", "expires");
CREATE TABLE "users_throttling" ( CREATE TABLE "users_throttling" (
"bucket" TEXT PRIMARY KEY NOT NULL COLLATE BINARY, "bucket" TEXT PRIMARY KEY NOT NULL COLLATE BINARY CHECK (LENGTH("bucket") <= 44),
"tokens" REAL NOT NULL CHECK ("tokens" >= 0), "tokens" REAL NOT NULL CHECK ("tokens" >= 0),
"replenished_at" INTEGER NOT NULL CHECK ("replenished_at" >= 0), "replenished_at" INTEGER NOT NULL CHECK ("replenished_at" >= 0),
"expires_at" INTEGER NOT NULL CHECK ("expires_at" >= 0) "expires_at" INTEGER NOT NULL CHECK ("expires_at" >= 0)