Repository navigation
Conversation
The members.unsubscribed boolean has been dead since 2014. The only read, a default_scope on Member, was removed in 59df6c1 (2014-06-22). The only write, the MembersController#unsubscribe action, was removed in 0cdd988 (2014-08-24) when the action became a token-based redirect to the subscriptions page. Ignore the column before dropping it. Old releases build their member SELECT list from their schema cache and name every column explicitly, so a drop while old dynos still serve under Heroku preboot would fail every member query on them. The column itself is removed with a safety_assured remove_column in a separate deploy. Part of codebar#3007.
This was referenced Oct 12, 2026
mroderick
marked this pull request as ready for review
October 12, 2026 17:03
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
members.unsubscribedhas been dead since 2014: nothing has read it since June 2014 and nothing has written it since August 2014. #3007 removes the column in two steps, because production runs with Heroku preboot.Change
Step 1 of #3007:
Member.ignored_columnsnow carriesunsubscribed, so the column drops out of the model's SELECT list and its attribute methods. A spec pins thatMember.newno longer responds tounsubscribed.Old releases name every member column explicitly in their SELECT list, built from the schema cache at boot. Dropping the column while old dynos still serve would fail every member query with
PG::UndefinedColumnduring the preboot switch, so theremove_columnfollows in a separate deploy in a stacked PR that merges only after this has shipped.Review notes
ignored_columnsline merges the existingcan_log_inentry into one%warray.