Change account ids to snowflake ids (#15844)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
This commit is contained in:
		
							
								
								
									
										17
									
								
								db/migrate/20210306164523_account_ids_to_timestamp_ids.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								db/migrate/20210306164523_account_ids_to_timestamp_ids.rb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
class AccountIdsToTimestampIds < ActiveRecord::Migration[5.1]
 | 
			
		||||
  def up
 | 
			
		||||
    # Set up the accounts.id column to use our timestamp-based IDs.
 | 
			
		||||
    safety_assured do
 | 
			
		||||
      execute("ALTER TABLE accounts ALTER COLUMN id SET DEFAULT timestamp_id('accounts')")
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    # Make sure we have a sequence to use.
 | 
			
		||||
    Mastodon::Snowflake.ensure_id_sequences_exist
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def down
 | 
			
		||||
    execute("LOCK accounts")
 | 
			
		||||
    execute("SELECT setval('accounts_id_seq', (SELECT MAX(id) FROM accounts))")
 | 
			
		||||
    execute("ALTER TABLE accounts ALTER COLUMN id SET DEFAULT nextval('accounts_id_seq')")
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
		Reference in New Issue
	
	Block a user