Независимо от этого варианта использования, это плохая практика, когда ваша ActiveRecord id
полагается на другой источник данных.
В вашем случае игнорируйте обычный id
и сохраняйте идентификатор сообщения WordPress вновый столбец, назовем его wp_id
, который не является уникальным для всей таблицы.
Затем вы можете создать следующий индекс, чтобы ускорить запросы и обеспечить уникальность идентификатора поста для сайта:
add_index :posts, [:site_id, :wp_id], unique: true
Таким образом, вы получаете то, что называется составной ключ , что означает, что каждая комбинация site_id
и wp_id
уникальна в таблице posts
.