mirror of
https://github.com/redmine/redmine.git
synced 2025-10-26 00:36:14 +02:00
Add a migration to update existing journals where updated_by_id points to a deleted user (#41572).
git-svn-id: https://svn.redmine.org/redmine/trunk@23170 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
class UpdateOrphanedJournalUpdatedByIdToAnonymous < ActiveRecord::Migration[7.2]
|
||||
def up
|
||||
# Don't use `User.anonymous` here because it creates a new anonymous
|
||||
# user if one doesn't exist yet.
|
||||
anonymous_user_id = AnonymousUser.unscoped.pick(:id)
|
||||
# The absence of an anonymous user implies a fresh installation.
|
||||
return if anonymous_user_id.nil?
|
||||
|
||||
Journal.joins('LEFT JOIN users ON users.id = journals.updated_by_id')
|
||||
.where.not(updated_by_id: nil)
|
||||
.where(users: { id: nil })
|
||||
.update_all(updated_by_id: anonymous_user_id)
|
||||
end
|
||||
|
||||
def down
|
||||
# no-op
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user