# Legacy Single Table Inheritance - Specify Discriminator?

**URL:** <https://www.ruby-forum.com/t/legacy-single-table-inheritance-specify-discriminator/195893>\
**Category:** Rails\
**Created:** [October 2, 2010, 3:57am UTC](https://www.ruby-forum.com/t/legacy-single-table-inheritance-specify-discriminator/195893 "2010-10-02T03:57:54Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![comtux](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c57346/32.png) [@comtux](https://www.ruby-forum.com/u/comtux)\
**Post date:** [October 2, 2010, 3:57am UTC](https://www.ruby-forum.com/t/legacy-single-table-inheritance-specify-discriminator/195893/1 "2010-10-02T03:57:54Z")

</div>

I have a legacy database that was designed to work with Hibernate. I  
have the following class hierachry:

class Status \< ActiveRecord::Base  
class ItemStatus \< Status  
set\_inheritance\_column :item\_type  
class MediaItemStatus \< Status  
set\_inheritance\_column :item\_type

My issue is that the discriminator used in Hibernate was the string  
literal “MEDIA” for a MediaItemStatus and “ITEM” for an ItemStatus. I’m  
new to rails and I’m not finding a way to specify what AR should expect  
for actual discriminator values. Is this possible in Rails 2.3?

---

<div class="post-metadata">

**Author:** ![comtux](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c57346/32.png) [@comtux](https://www.ruby-forum.com/u/comtux)\
**Post date:** [October 2, 2010, 10:23am UTC](https://www.ruby-forum.com/t/legacy-single-table-inheritance-specify-discriminator/195893/2 "2010-10-02T10:23:21Z")

</div>

On Oct 2, 2:57 am, Steve S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> My issue is that the discriminator used in Hibernate was the string  
> literal “MEDIA” for a MediaItemStatus and “ITEM” for an ItemStatus. I’m  
> new to rails and I’m not finding a way to specify what AR should expect  
> for actual discriminator values. Is this possible in Rails 2.3?

You could try overriding Status.compute\_type

Fred
