mirror of
https://github.com/mastodon/mastodon.git
synced 2025-05-07 04:06:13 +00:00
Change quote IDs to use snowflake IDs (#34551)
This commit is contained in:
parent
a97647158c
commit
8f59b63176
19
db/migrate/20250425134308_quote_ids_to_timestamp_ids.rb
Normal file
19
db/migrate/20250425134308_quote_ids_to_timestamp_ids.rb
Normal file
|
@ -0,0 +1,19 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class QuoteIdsToTimestampIds < ActiveRecord::Migration[8.0]
|
||||
def up
|
||||
# Set up the media_attachments.id column to use our timestamp-based IDs.
|
||||
safety_assured do
|
||||
execute("ALTER TABLE quotes ALTER COLUMN id SET DEFAULT timestamp_id('quotes')")
|
||||
end
|
||||
|
||||
# Make sure we have a sequence to use.
|
||||
Mastodon::Snowflake.ensure_id_sequences_exist
|
||||
end
|
||||
|
||||
def down
|
||||
execute('LOCK quotes')
|
||||
execute("SELECT setval('quotes_id_seq', (SELECT MAX(id) FROM quotes))")
|
||||
execute("ALTER TABLE quotes ALTER COLUMN id SET DEFAULT nextval('quotes_id_seq')")
|
||||
end
|
||||
end
|
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema[8.0].define(version: 2025_04_22_085303) do
|
||||
ActiveRecord::Schema[8.0].define(version: 2025_04_25_134654) do
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "pg_catalog.plpgsql"
|
||||
|
||||
|
@ -871,7 +871,7 @@ ActiveRecord::Schema[8.0].define(version: 2025_04_22_085303) do
|
|||
t.string "url"
|
||||
end
|
||||
|
||||
create_table "quotes", force: :cascade do |t|
|
||||
create_table "quotes", id: :bigint, default: -> { "timestamp_id('quotes'::text)" }, force: :cascade do |t|
|
||||
t.bigint "account_id", null: false
|
||||
t.bigint "status_id", null: false
|
||||
t.bigint "quoted_status_id"
|
||||
|
|
Loading…
Reference in New Issue
Block a user