2013-05-30 2 views
1

Я посеял базу данных в Rails. В данных семени содержатся идентификаторы, и мне нужно установить эти ID как мои первичные ключи. Первичные ключи в засеянных данных являются альфа-числовыми. Rails для первичных ключей должны быть целыми. Я думаю, что должен быть какой-то способ преобразования алфавитно-цифровой строки в уникальное целое число. Это не может быть случайным. Что-то, что эквивалентно кольцу декодера в гнездах взломщика.Создайте уникальное целое число из буквенно-цифровой строки

+1

Есть ли причина, что вам нужно хранить первичные ключи, используемые в семенных данных? Можете ли вы позволить базе данных генерировать идентификаторы для вас автоматически при импорте данных? Или у вас есть другие таблицы, которые ссылаются на них как есть? Если вам нужны пользовательские ключи, вы можете проверить что-то вроде http://codeherb.com/RailsCustomPk/. – lurker

+0

Я бы просто использовал кольцо и исходный перевод. Почему, по вашему мнению, вам нужно * использовать идентификаторы в качестве ПК? Вы можете создать индекс в идентификаторах GUID и выполнить поиск так же быстро, либо просто не засеять странные идентификаторы. –

+0

Между данными имеются отношения между внешними ключами, поэтому основные и внешние ключи имеют решающее значение. – Lumbee

ответ

2

Если вам не нужно различать верхний и нижний регистр, а затем, например,

"fkfj23".to_i(36) # => 941309499 
+0

Черт! Это было для легкой пилы. – Lumbee

+0

Есть ли простая версия, чувствительная к регистру? – Qwertie

Смежные вопросы