Я бы порекомендовал делать это на уровне PostgreSQL, с чем-то вроде Bucardo или Slony. Если вы сделаете это на уровне Rails, он сломается, как только вы сделаете одну модификацию, которая не проходит через рельсы. У вас может не быть этого сегодня, но разработка способности иметь это в будущем очень недальновидна.