Другая возможная концепция может состоять в том, чтобы просто использовать переменную start_at в файле модели?
Например, определить базовый номер, например start_at = 53131
, а затем ...
Создайте метод доступа (мог бы назвать его «ключом»), который добавляет ваш номер start_at
к реальному идентификатору вашей базы данных перед его возвратом.
И вы можете создать метод записи attr, который вычитает start_at
перед сохранением ключа, что может даже не потребоваться в зависимости от вашей реализации.
Пример в псевдокоде, так что терпите меня.
class FakeModel
attr_accessible :name
start_at = 53121
def self.find_by_key(key)
find_by_id(key-start_at))
end
def key
(self.id+start_at)
end
end
Не уверен, насколько это практично или даже будет ли это работать на 100%, но, по крайней мере, вам не придется изменять базу данных, чтобы справиться с этим.