mirror of
https://0xacab.org/sutty/sutty
synced 2025-01-19 19:43:38 +00:00
permitir cargar archivos con la misma key
podemos tener sitios distintos con la misma llave identificatoria. ahora permitimos solo una llave por cada sitio distinto. si subimos un archivo duplicado en un mismo sitio el error va a seguir siendo el mismo.
This commit is contained in:
parent
0b06bf3541
commit
def4402313
2 changed files with 12 additions and 1 deletions
|
@ -68,7 +68,7 @@ class MetadataFile < MetadataTemplate
|
||||||
when ActionDispatch::Http::UploadedFile
|
when ActionDispatch::Http::UploadedFile
|
||||||
site.static_files.last if site.static_files.attach(value['path'])
|
site.static_files.last if site.static_files.attach(value['path'])
|
||||||
when String
|
when String
|
||||||
if (blob_id = ActiveStorage::Blob.where(key: key_from_path).pluck(:id).first)
|
if (blob_id = ActiveStorage::Blob.where(key: key_from_path, service_name: site.name).pluck(:id).first)
|
||||||
site.static_files.find_by(blob_id: blob_id)
|
site.static_files.find_by(blob_id: blob_id)
|
||||||
elsif path? && pathname.exist? && site.static_files.attach(io: pathname.open, filename: pathname.basename)
|
elsif path? && pathname.exist? && site.static_files.attach(io: pathname.open, filename: pathname.basename)
|
||||||
site.static_files.last.tap do |s|
|
site.static_files.last.tap do |s|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
# Cambia el índice único para incluir el nombre del servicio, de forma
|
||||||
|
# que podamos tener varias copias del mismo sitio (por ejemplo para
|
||||||
|
# test) sin que falle la creación de archivos.
|
||||||
|
class ChangeBlobKeyUniquenessToIncludeServiceName < ActiveRecord::Migration[6.1]
|
||||||
|
def change
|
||||||
|
remove_index :active_storage_blobs, %i[key], unique: true
|
||||||
|
add_index :active_storage_blobs, %i[key service_name], unique: true
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue