public-activity/public_activity · error

[WARN] couldn't connect to database. Skipping PublicActivity

Error message

[WARN] couldn't connect to database. Skipping PublicActivity::Activity#parameters's serialization

What it means

Error "[WARN] couldn't connect to database. Skipping PublicActivity::Activity#parameters's serialization" thrown in public-activity/public_activity.

Source

Thrown at lib/public_activity/orm/active_record/activity.rb:52

        end

        # Serialize parameters Hash
        begin
          if table_exists?
            unless %i[json jsonb hstore].include?(columns_hash['parameters'].type)
              if ::ActiveRecord.version.release < Gem::Version.new('7.1')
                serialize :parameters, Hash
              else
                serialize :parameters, coder: YAML, type: Hash
              end
            end
          else
            warn("[WARN] table #{name} doesn't exist. Skipping PublicActivity::Activity#parameters's serialization")
          end
        rescue ::ActiveRecord::NoDatabaseError
          warn("[WARN] database doesn't exist. Skipping PublicActivity::Activity#parameters's serialization")
        rescue ::ActiveRecord::ConnectionNotEstablished, ::PG::ConnectionBad, Mysql2::Error::ConnectionError
          warn("[WARN] couldn't connect to database. Skipping PublicActivity::Activity#parameters's serialization")
        end
      end
    end
  end
end

View on GitHub (pinned to 1f3a5568ad)

Solutions

  1. Start the database server (PostgreSQL/MySQL) before loading the app.
  2. Verify host, port, username and password in config/database.yml for the current environment.
  3. During build steps without a DB (e.g. assets:precompile), set a dummy env or skip eager loading; the gem skips serialization and only warns.

Example fix

systemctl start postgresql
# then verify: rails runner 'puts ActiveRecord::Base.connection.active?'

When it happens

Trigger: Emitted when loading PublicActivity::Activity fails to establish a database connection, rescuing ActiveRecord::ConnectionNotEstablished, PG::ConnectionBad, or Mysql2::Error::ConnectionError. Typical when the database server is down or unreachable at boot, when DATABASE_URL or credentials are wrong, in containers that start before the database service is ready, or during asset precompilation without a live database. The warn at lib/public_activity/orm/active_record/activity.rb:52 skips serialize for parameters until the app restarts with a working connection.

Common situations: See trigger scenarios.


AI-assisted analysis of public-activity/public_activity@1f3a5568ad (2026-08-23). Data as JSON: /api/errors/837d31e6f775aae8. Report an issue: GitHub.