RepoJournal

$ cat rails/week/2026-10-05.log

Rails

Rails

the week in review · Oct 5 – Oct 11, 2026

Postgres adapter gains maintenance_database option

By RepoJournal · composed from the cited sources · human-reviewed weekly · methodology

♥

Rails also added adapter-specific migration regression coverage and moved Action Pack and Action Mailer docs from RDoc to Markdown.

92 commits 52 PRs merged 7 briefings covered

all rails reviews →

Add maintenance_database option to the PostgreSQL adapter rails/rails

by yahonda

db:create, db:drop and db:purge connect to the postgres database by default, which managed services such as DigitalOcean do not provide: it offers only defaultdb and rejects connections to template1 and the postgres database. The new option lets you point those tasks at a database that actually exists on your provider.

Add maintenance_database option to the PostgreSQL adapter rails/rails

by Yasuo Honda

Configuration lives on the adapter rather than in a rake task override, so it applies to every invocation of those three tasks. Worth setting in staging and production configs if you deploy against a provider that hides the maintenance database.

Add regression tests for adapter-specific migration compatibility rails/rails

by yahonda

The new tests pin the schema that old migrations still produce on their original Rails version, adapter by adapter. A Migration[5.1] create_table still emits ENGINE=InnoDB on MySQL, and a Migration[6.1] t.datetime still behaves as it did, so upgrades that silently shift legacy schema now fail CI instead of production.

Fix V5_1 change_column to honor table_name_prefix rails/rails

by Yasuo Honda

Compatibility::V5_1#change_column on PostgreSQL applied :default, :null and :comment through the connection directly, skipping the proper_table_name call Migration#method_missing normally applies. Apps using table_name_prefix or table_name_suffix while replaying 5.1-era migrations were hitting the wrong table name.

Store query constraints in `SchemaContext` rails/rails

by adrianna-chang-shopify

Resolved query constraint lists are now computed when Active Record loads a model schema, with model accessors delegating to the schema context. It continues the Ractor-readiness work from earlier in the period, where the proxy pool's schema cache was rebuilt on a bound schema reflection.

Fix `to_markdown` code spans broken by tables and adjacent code rails/rails

by flavorjones

to_markdown wrote the text of <code> and <pre> elements unescaped and leaned on the code span delimiter to stop renderers parsing it as Markdown, which broke whenever a table or adjacent code sat next to the span. Action Text exports of stored rich text containing code are the affected path.

README: sizing guidance for message_retention (#95) rails/solid_cable

by Yuji Teshima

The solid_cable README now states what message_retention has to cover: the slowest subscriber's polling interval plus margin for a reconnecting listener. The default costs real rows, since 60 messages per second under 1.day retention keeps roughly 5 million rows. The lemans tooling also shipped a 1.5.1 bump with new report and clobber options alongside.

[ci skip] Fix wrong job name in config.active_record.queues.destroy docs rails/rails

by hachi8833

The configuring guide said purge jobs go to the default queue when config.active_record.queues.destroy is nil; the option actually configures the destroy queue. A docs sweep this period also fixed an incorrect route in the Generators guide and completed the Action Pack and Action Mailer move to Markdown.

$ ls rails/week/ # the briefings behind this review

Keep up with Rails in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.

Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.

all rails reviews →