mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 09:42:07 +08:00
Dev fix some types (#29547)
The primary key is usually a bigint column, but the foreign key columns are usually of integer type. This can lead to issues when joining these columns due to mismatched types and different value ranges. This was using a temporary plugin / test API to make tests pass. After more careful consideration, we concluded that it is safe to alter the tables directly.
This commit is contained in:
parent
09e16a3c0d
commit
723dc1fa55
|
@ -206,7 +206,7 @@ end
|
|||
# reminder_set_at :datetime
|
||||
# auto_delete_preference :integer default(0), not null
|
||||
# pinned :boolean default(FALSE)
|
||||
# bookmarkable_id :integer
|
||||
# bookmarkable_id :bigint
|
||||
# bookmarkable_type :string
|
||||
#
|
||||
# Indexes
|
||||
|
|
11
db/migrate/20241101141701_alter_bookmarks_ids_to_bigint.rb
Normal file
11
db/migrate/20241101141701_alter_bookmarks_ids_to_bigint.rb
Normal file
|
@ -0,0 +1,11 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AlterBookmarksIdsToBigint < ActiveRecord::Migration[7.1]
|
||||
def up
|
||||
change_column :bookmarks, :bookmarkable_id, :bigint
|
||||
end
|
||||
|
||||
def down
|
||||
raise ActiveRecord::IrreversibleMigration
|
||||
end
|
||||
end
|
|
@ -476,9 +476,6 @@ RSpec.configure do |config|
|
|||
Capybara::Selenium::Driver.new(app, **mobile_driver_options)
|
||||
end
|
||||
|
||||
migrate_column_to_bigint(AllowedPmUser, :allowed_pm_user_id)
|
||||
migrate_column_to_bigint(Bookmark, :bookmarkable_id)
|
||||
migrate_column_to_bigint(IgnoredUser, :ignored_user_id)
|
||||
migrate_column_to_bigint(PostAction, :post_action_type_id)
|
||||
migrate_column_to_bigint(Reviewable, :target_id)
|
||||
migrate_column_to_bigint(ReviewableHistory, :reviewable_id)
|
||||
|
|
Loading…
Reference in New Issue
Block a user