Split custom filter migration script using the post-deployment migration system
There were some concerns with the custom filter migration script dropping a table, thus making it unsafe to run in a zero-downtime setting. Upstream introduced a way to run migrations after deployment, so revisit the old migration script to make use of this.
This commit is contained in:
		
							parent
							
								
									494eaab5b1
								
							
						
					
					
						commit
						80148d8edd
					
				| @ -29,20 +29,20 @@ class MigrateFilters < ActiveRecord::Migration[5.2] | ||||
|         whole_word: filter.whole_word, | ||||
|         irreversible: true) | ||||
|     end | ||||
| 
 | ||||
|     drop_table :glitch_keyword_mutes | ||||
|   end | ||||
| 
 | ||||
|   def down | ||||
|     create_table "glitch_keyword_mutes" do |t| | ||||
|       t.references :account, null: false | ||||
|       t.string :keyword, null: false | ||||
|       t.boolean :whole_word, default: true, null: false | ||||
|       t.boolean :apply_to_mentions, default: true, null: false | ||||
|       t.timestamps | ||||
|     end | ||||
|     unless table_exists? :glitch_keyword_mutes | ||||
|       create_table :glitch_keyword_mutes do |t| | ||||
|         t.references :account, null: false | ||||
|         t.string :keyword, null: false | ||||
|         t.boolean :whole_word, default: true, null: false | ||||
|         t.boolean :apply_to_mentions, default: true, null: false | ||||
|         t.timestamps | ||||
|       end | ||||
| 
 | ||||
|     add_foreign_key :glitch_keyword_mutes, :accounts, on_delete: :cascade | ||||
|       add_foreign_key :glitch_keyword_mutes, :accounts, on_delete: :cascade | ||||
|     end | ||||
| 
 | ||||
|     CustomFilter.where(irreversible: true).find_each do |filter| | ||||
|       GlitchKeywordMute.where(account: filter.account).create!( | ||||
|  | ||||
							
								
								
									
										11
									
								
								db/post_migrate/20180813160548_post_migrate_filters.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								db/post_migrate/20180813160548_post_migrate_filters.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| class PostMigrateFilters < ActiveRecord::Migration[5.2] | ||||
|   disable_ddl_transaction! | ||||
| 
 | ||||
|   def up | ||||
|     drop_table :glitch_keyword_mutes if table_exists? :glitch_keyword_mutes | ||||
|   end | ||||
| 
 | ||||
|   def down | ||||
|   end | ||||
| end | ||||
| 
 | ||||
| @ -10,7 +10,7 @@ | ||||
| # | ||||
| # It's strongly recommended that you check this file into your version control system. | ||||
| 
 | ||||
| ActiveRecord::Schema.define(version: 2018_08_12_123222) do | ||||
| ActiveRecord::Schema.define(version: 2018_08_13_160548) do | ||||
| 
 | ||||
|   # These are extensions that must be enabled in order to support this database | ||||
|   enable_extension "plpgsql" | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user