mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-16 11:31:41 +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:
parent
64e93506b7
commit
d5f6d3c61b
2 changed files with 20 additions and 2 deletions
|
@ -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)
|
||||
|
|
|
@ -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
|
Loading…
Reference in a new issue