From 661471e9e83f343a3fe68cd2dbb215b3b5885325 Mon Sep 17 00:00:00 2001 From: "Stanko K.R." Date: Wed, 17 Sep 2025 11:47:46 +0200 Subject: [PATCH] Fix crash due to missing default value --- app/models/webhook/delinquency_tracker.rb | 2 +- ...ecutive_failures_count_to_webhook_delinquency_trackers.rb | 5 +++++ db/schema.rb | 4 ++-- db/schema_cache.yml | 4 ++-- 4 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 db/migrate/20250917064006_add_default_value_for_consecutive_failures_count_to_webhook_delinquency_trackers.rb diff --git a/app/models/webhook/delinquency_tracker.rb b/app/models/webhook/delinquency_tracker.rb index 6ae40eb4a..1824db418 100644 --- a/app/models/webhook/delinquency_tracker.rb +++ b/app/models/webhook/delinquency_tracker.rb @@ -9,7 +9,7 @@ class Webhook::DelinquencyTracker < ApplicationRecord reset else mark_first_failure_time if consecutive_failures_count.zero? - increment!(:consecutive_failures_count) + increment!(:consecutive_failures_count, touch: true) webhook.deactivate if delinquent? end diff --git a/db/migrate/20250917064006_add_default_value_for_consecutive_failures_count_to_webhook_delinquency_trackers.rb b/db/migrate/20250917064006_add_default_value_for_consecutive_failures_count_to_webhook_delinquency_trackers.rb new file mode 100644 index 000000000..9f88d7631 --- /dev/null +++ b/db/migrate/20250917064006_add_default_value_for_consecutive_failures_count_to_webhook_delinquency_trackers.rb @@ -0,0 +1,5 @@ +class AddDefaultValueForConsecutiveFailuresCountToWebhookDelinquencyTrackers < ActiveRecord::Migration[8.1] + def change + change_column_default :webhook_delinquency_trackers, :consecutive_failures_count, from: nil, to: 0 + end +end diff --git a/db/schema.rb b/db/schema.rb index ecf0c9097..7a7ff1900 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[8.1].define(version: 2025_09_15_170056) do +ActiveRecord::Schema[8.1].define(version: 2025_09_17_064006) do create_table "accesses", force: :cascade do |t| t.datetime "accessed_at" t.integer "collection_id", null: false @@ -456,7 +456,7 @@ ActiveRecord::Schema[8.1].define(version: 2025_09_15_170056) do end create_table "webhook_delinquency_trackers", force: :cascade do |t| - t.integer "consecutive_failures_count" + t.integer "consecutive_failures_count", default: 0 t.datetime "created_at", null: false t.datetime "first_failure_at" t.datetime "updated_at", null: false diff --git a/db/schema_cache.yml b/db/schema_cache.yml index 0f88cc151..8c9bc6772 100644 --- a/db/schema_cache.yml +++ b/db/schema_cache.yml @@ -1325,7 +1325,7 @@ columns: cast_type: *3 sql_type_metadata: *4 'null': true - default: + default: 0 default_function: collation: comment: @@ -3191,4 +3191,4 @@ indexes: comment: valid: true workflows: [] -version: 20250915170056 +version: 20250917064006