2
我有一個已經存在的數據庫模式,這些數據庫模式的表格有一個字符串列作爲主鍵,還有一些表格有多個列作爲鍵。我想在rails中映射這個模式,但我不知道如何覆蓋默認主鍵(由rails框架創建的列標識)。如何在rails 4.0中覆蓋ruby中的默認主鍵列。
我有一個已經存在的數據庫模式,這些數據庫模式的表格有一個字符串列作爲主鍵,還有一些表格有多個列作爲鍵。我想在rails中映射這個模式,但我不知道如何覆蓋默認主鍵(由rails框架創建的列標識)。如何在rails 4.0中覆蓋ruby中的默認主鍵列。
您可以覆蓋主鍵這樣
class Book < ActiveRecord::Base
self.primary_key = 'author'
end
我不知道你想做什麼。這是改變Rails中主鍵的錯誤。
但是對於這個問題,試着在你的遷移中做到這一點。
class Foos < ActiveRecord::Migration
def self.up
create_table :foos, :id => false do |t|
t.string :my_id
t.timestamps
end
end
end
我讀到我的書這種做法,它說這就是隻覆蓋列名,例如用於在軌priamry鍵的默認列名是ID,現在它的作者,但數據類型仍然是整數。我的模式中有一個字符串作爲priamry鍵,因此這不是我的問題。 –
[將Rails中的主鍵改爲字符串](http://stackoverflow.com/questions/750413/altering-the-primary-key-in-rails-to-be-a-string#answer-6714889)爲什麼你應該儘量避免這樣做 – MilesStanfield