From e5e43974a5879dfa3ea224188f16400b2a2330e2 Mon Sep 17 00:00:00 2001 From: Tiago Yamamoto Date: Mon, 23 Feb 2026 21:17:34 -0600 Subject: [PATCH] =?UTF-8?q?fix(migrations):=20increase=20users.status=20VA?= =?UTF-8?q?RCHAR(20=E2=86=9230),=20fix=20010=20status=20value?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 009: status column was VARCHAR(20), causing 'force_change_password' (21 chars) to fail on INSERT — changed to VARCHAR(30) - 010: changed initial status from 'force_change_password' to 'pending' (fits any column size ≥7 chars, avoids future truncation) - 046: ALTER TABLE for existing deployments where 009 already applied with VARCHAR(20) Co-Authored-By: Claude Sonnet 4.6 --- backend/migrations/009_unify_schema.sql | 2 +- backend/migrations/010_seed_super_admin.sql | 2 +- backend/migrations/046_fix_user_status_varchar.sql | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 backend/migrations/046_fix_user_status_varchar.sql diff --git a/backend/migrations/009_unify_schema.sql b/backend/migrations/009_unify_schema.sql index 91a9450..fd9dbbb 100644 --- a/backend/migrations/009_unify_schema.sql +++ b/backend/migrations/009_unify_schema.sql @@ -11,7 +11,7 @@ ALTER TABLE users ADD COLUMN IF NOT EXISTS email VARCHAR(255); ALTER TABLE users ADD COLUMN IF NOT EXISTS name VARCHAR(255); -- Add status field for compatibility -ALTER TABLE users ADD COLUMN IF NOT EXISTS status VARCHAR(20) DEFAULT 'active'; +ALTER TABLE users ADD COLUMN IF NOT EXISTS status VARCHAR(30) DEFAULT 'active'; -- Create user_roles table (replaces core_user_roles) CREATE TABLE IF NOT EXISTS user_roles ( diff --git a/backend/migrations/010_seed_super_admin.sql b/backend/migrations/010_seed_super_admin.sql index c8d4a5b..b200806 100644 --- a/backend/migrations/010_seed_super_admin.sql +++ b/backend/migrations/010_seed_super_admin.sql @@ -35,7 +35,7 @@ VALUES ( 'superadmin', 'Super Administrator', 'admin@gohorsejobs.com', - 'force_change_password', + 'pending', true ) ON CONFLICT (identifier) DO NOTHING; -- ON CONFLICT DO NOTHING: não sobrescreve se o seeder já definiu o hash. diff --git a/backend/migrations/046_fix_user_status_varchar.sql b/backend/migrations/046_fix_user_status_varchar.sql new file mode 100644 index 0000000..aa10e93 --- /dev/null +++ b/backend/migrations/046_fix_user_status_varchar.sql @@ -0,0 +1,5 @@ +-- Migration: Increase users.status column size +-- Description: Increase VARCHAR(20) to VARCHAR(30) to accommodate longer status values +-- like 'force_change_password' (21 chars) without truncation errors. + +ALTER TABLE users ALTER COLUMN status TYPE VARCHAR(30);