Fix data integrity of featured tags (#17712)
This commit is contained in:
		| @@ -4,8 +4,8 @@ | ||||
| # Table name: featured_tags | ||||
| # | ||||
| #  id             :bigint(8)        not null, primary key | ||||
| #  account_id     :bigint(8) | ||||
| #  tag_id         :bigint(8) | ||||
| #  account_id     :bigint(8)        not null | ||||
| #  tag_id         :bigint(8)        not null | ||||
| #  statuses_count :bigint(8)        default(0), not null | ||||
| #  last_status_at :datetime | ||||
| #  created_at     :datetime         not null | ||||
|   | ||||
							
								
								
									
										17
									
								
								db/migrate/20220307094650_fix_featured_tags_constraints.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								db/migrate/20220307094650_fix_featured_tags_constraints.rb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| class FixFeaturedTagsConstraints < ActiveRecord::Migration[6.1] | ||||
|   def up | ||||
|     safety_assured do | ||||
|       execute 'DELETE FROM featured_tags WHERE tag_id IS NULL' | ||||
|       change_column_null :featured_tags, :tag_id, false | ||||
|       execute 'DELETE FROM featured_tags WHERE account_id IS NULL' | ||||
|       change_column_null :featured_tags, :account_id, false | ||||
|     end | ||||
|   end | ||||
|  | ||||
|   def down | ||||
|     safety_assured do | ||||
|       change_column_null :featured_tags, :tag_id, true | ||||
|       change_column_null :featured_tags, :account_id, true | ||||
|     end | ||||
|   end | ||||
| end | ||||
| @@ -10,7 +10,7 @@ | ||||
| # | ||||
| # It's strongly recommended that you check this file into your version control system. | ||||
|  | ||||
| ActiveRecord::Schema.define(version: 2022_03_04_195405) do | ||||
| ActiveRecord::Schema.define(version: 2022_03_07_094650) do | ||||
|  | ||||
|   # These are extensions that must be enabled in order to support this database | ||||
|   enable_extension "plpgsql" | ||||
| @@ -420,8 +420,8 @@ ActiveRecord::Schema.define(version: 2022_03_04_195405) do | ||||
|   end | ||||
|  | ||||
|   create_table "featured_tags", force: :cascade do |t| | ||||
|     t.bigint "account_id" | ||||
|     t.bigint "tag_id" | ||||
|     t.bigint "account_id", null: false | ||||
|     t.bigint "tag_id", null: false | ||||
|     t.bigint "statuses_count", default: 0, null: false | ||||
|     t.datetime "last_status_at" | ||||
|     t.datetime "created_at", null: false | ||||
|   | ||||
		Reference in New Issue
	
	Block a user