新手问题 请问如何在只是用 ActiveRecord 的情况下手动管理主键?

evil850209 · 2013年03月28日 · 最后由 evil850209 回复于 2013年04月01日 · 3625 次阅读

不用 Rails,只是使用 ActiveRecord,能不能实现手动管理主键呢?

如果 Rails,可以在 Migration 文件中添加

create_table :products, :id => false do |t|
  t.string :name, :null => false
end

但我现在不在 Rails 环境下,而且使用的是已有的 Oralce 数据库。只想做一些简单的对 DB 的操作,如何手动维护主键?

class User < ActiveRecord::Base
  self.table_name = 'users'
  self.primary_key = "user_id"
  self.sequence_name = nil
end

如何禁止使用 sequence 呢?我用的是 activerecord-oracle_enhanced-adapter 这个 gem

最后经过几天的研究,发现这样可以解决问题。就是把主键约束全部交给业务代码和 oracle

class User < ActiveRecord::Base
  self.table_name = "users"
  self.primary_key = nil
end
需要 登录 后方可回复, 如果你还没有账号请 注册新账号