فشل إدراج null في سجل not null بقيمة افتراضية current_timestamp في postgresql enterprise

Discourse أعلى 3.2.0 (v3.3.3,…).
أنا أستخدم PostgreSQL 15.3 (EnterpriseDB Advanced Server 15.3.0) على x86_64-pc-linux-gnu، تم تجميعه بواسطة gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-16)، 64 بت.
عند تشغيل rake db:migrate، أواجه هذا الخطأ:

PG::NotNullViolation: ERROR: null value in column "first_unread_at" of relation "user_stats" violates not-null constraint (PG::NotNullViolation)
DETAIL: Failing row contains (130, 0, 0, 0, 0, 0, 0, 2025-02-25 03:27:48.934913, null, null, 0, 0, 0, null, 0, 0, 0, null, 0, null, null, null, 0, 0)

لقد حققت واكتشفت أن السبب هو أن التطبيق يحاول إدراج قيمة فارغة في حقل غير فارغ مع قيمة افتراضية current_timestamp.
الحل الخاص بي:

BEGIN;
ALTER TABLE user_stats 
  ALTER COLUMN first_unread_at SET NOT NULL,
  ALTER COLUMN first_unread_at SET DEFAULT NOW();
COMMIT;

BEGIN;
ALTER TABLE user_stats 
  ALTER COLUMN first_unread_pm_at SET NOT NULL,
  ALTER COLUMN first_unread_pm_at SET DEFAULT NOW();
COMMIT;

BEGIN;
ALTER TABLE group_users 
  ALTER COLUMN first_unread_pm_at SET NOT NULL,
  ALTER COLUMN first_unread_pm_at SET DEFAULT NOW();
COMMIT;

ولكن هناك العديد من الحقول الأخرى التي لا يمكن إدراجها، ولم أتمكن من العثور عليها وإصلاحها كلها باستخدام هذه الطريقة.

أنا مرتبك، لقد قمنا بتعيين الخطأ الافتراضي هنا: