2008-11-23 2 views
2

С Rails 2.1, если вы определяете новый столбец миграции с типом, установленным в: integer, а ограничение limit равным 5 или более, столбец, фактически созданный в вашей базе данных MySQL, будет иметь тип BigInt. Отлично.Как определить первичный ключ BigInt с Rails 2.1 и MySQL?

Но я не могу понять, как создать таблицу с основным ключом BigInt.

Любые подсказки?

+0

Определения колонки: предел более чем 5, кажется, не работает в моем Rails 2.3.9 приложения. Любые идеи, в которых может возникнуть проблема? – 2010-09-12 12:29:23

ответ

1

Я только что наткнулся на this plugin: кажется, ответит на этот вопрос.

+0

@ предупреждение, неработающая ссылка. – mansu 2009-06-10 15:53:42

1

Это работает в рельсах 3 не уверен, если она будет работать на рельсы 2.

На протяжении моего приложения мне нужно было первичные ключи, чтобы быть BIGINT без знака. То, что я в конечном итоге делает укладывал в моей конфигурации/environment.rb

require 'active_record/connection_adapters/mysql2_adapter' 
ActiveRecord::ConnectionAdapters::Mysql2Adapter::NATIVE_DATABASE_TYPES[:primary_key] = 
    "BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY".freeze 

Это позволяет рельсы автоматически создавать идентификаторы, как BigInts. Когда я делаю refrence из другой таблицы я делаю следующее

t.column :product_id, 'BIGINT UNSIGNED' 
Смежные вопросы