5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-16 13:31:42 +00:00

no compartir el uuid del post con su indexación

aunque los uuid son únicos, en el contexto de un sitio los posts son
únicos por cada sitio.  si tenemos sitios duplicados (por ejemplo un
sitio de testing), la indexación funciona pero va moviendo posts de un
panel a otro.

ahora los uuid de cada post se guardan por separado y las indexaciones
tienen sus propios uuids únicos.

por ahora no los estamos usando para nada, pero cuando tengamos
permalinks, los registros van a estar relacionados con sus posts
indexados.
This commit is contained in:
f 2022-08-03 12:56:39 -03:00
parent 64e93506b7
commit d5f6d3c61b
2 changed files with 20 additions and 2 deletions

View file

@ -14,9 +14,8 @@ class Post
#
# @return [IndexedPost]
def to_index
IndexedPost.find_or_create_by(id: uuid.value).tap do |indexed_post|
IndexedPost.find_or_create_by(post_id: uuid.value, site_id: site.id).tap do |indexed_post|
indexed_post.layout = layout.name
indexed_post.site_id = site.id
indexed_post.path = path.basename
indexed_post.locale = locale.value
indexed_post.dictionary = IndexedPost.to_dictionary(locale: locale.value)

View file

@ -0,0 +1,19 @@
# frozen_string_literal: true
# No podemos compartir el uuid entre indexed_posts y posts porque
# podemos tener sitios duplicados. Al menos hasta que los sitios de
# testeo estén integrados en el panel vamos a tener que generar otros
# UUID.
class IndexedPostsByUuidAndSiteId < ActiveRecord::Migration[6.1]
def up
add_column :indexed_posts, :post_id, :uuid, index: true
IndexedPost.transaction do
ActiveRecord::Base.connection.execute('update indexed_posts set post_id = id where post_id is null')
end
end
def down
remove_column :indexed_posts, :post_id
end
end