discourse/db/migrate/20180920042415_create_user_uploads.rb
Sam df45e82377 SECURITY: only allow picking of avatars created by self (#6417)
* SECURITY: only allow picking of avatars created by self

Also adds origin tracking to all uploads including de-duplicated uploads
2018-09-19 22:33:10 -07:00

23 lines
562 B
Ruby

class CreateUserUploads < ActiveRecord::Migration[5.2]
def up
create_table :user_uploads do |t|
t.integer :upload_id, null: false
t.integer :user_id, null: false
t.datetime :created_at, null: false
end
add_index :user_uploads, [:upload_id, :user_id], unique: true
execute <<~SQL
INSERT INTO user_uploads(upload_id, user_id, created_at)
SELECT id, user_id, COALESCE(created_at, current_timestamp)
FROM uploads
WHERE user_id IS NOT NULL
SQL
end
def down
drop_table :user_uploads
end
end