20 lines
		
	
	
		
			606 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			606 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# 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
 |