# Self.abstract\_class = true doesn't work for MySQL?!?

**URL:** <https://www.ruby-forum.com/t/self-abstract-class-true-doesnt-work-for-mysql/67119>\
**Category:** Rails\
**Created:** [August 31, 2006, 8:04pm UTC](https://www.ruby-forum.com/t/self-abstract-class-true-doesnt-work-for-mysql/67119 "2006-08-31T20:04:41Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![weyus](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/7ab992/32.png) [@weyus](https://www.ruby-forum.com/u/weyus)\
**Post date:** [August 31, 2006, 8:04pm UTC](https://www.ruby-forum.com/t/self-abstract-class-true-doesnt-work-for-mysql/67119/1 "2006-08-31T20:04:41Z")

</div>

Rails 1.1.6  
MySQL 5.0.18

I created a model with self.abstract\_class = true and when I call new on  
it, I get an error about the appropriate table not being found in MySQL.

Is this a bug or is there some other configuration that I’m not aware  
of?

Thanks,  
Wes

Model:

class PrequalificationForm \< ActiveRecord::Base  
self.abstract\_class = true

attr\_accessor :certify  
end

Error:

C:\eclipse\workspace\OnlineRating\>ruby script/console  
Loading development environment.

> > PrequalificationForm.new  
> > ActiveRecord::StatementInvalid: Mysql::Error: #42S02Table  
> > ‘ericartisan\_developme  
> > nt.prequalification\_forms’ doesn’t exist: SHOW FIELDS FROM  
> > prequalification\_form  
> > s  
> > from  
> > c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active\_recor  
> > d/connection\_adapters/abstract\_adapter.rb:120:in `log' from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_recor d/connection_adapters/mysql_adapter.rb:184:in`execute’  
> > from  
> > c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active\_recor  
> > d/connection\_adapters/mysql\_adapter.rb:292:in `columns' from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_recor d/base.rb:696:in`columns’  
> > from  
> > c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active\_recor  
> > d/base.rb:1969:in `attributes_from_column_definition' from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_recor d/base.rb:1351:in`initialize\_without\_callbacks’  
> > from  
> > c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active\_recor  
> > d/callbacks.rb:236:in `initialize’  
> > from (irb):1

---

<div class="post-metadata">

**Author:** ![weyus](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/7ab992/32.png) [@weyus](https://www.ruby-forum.com/u/weyus)\
**Post date:** [September 1, 2006, 9:39am UTC](https://www.ruby-forum.com/t/self-abstract-class-true-doesnt-work-for-mysql/67119/2 "2006-09-01T09:39:39Z")

</div>

I think that this is a bug.

Can anyone verify that setting self.abstract\_class = true looks for a  
table when using MySQL for a database?

Am I understanding the use of self.abstract\_class correctly?

I have used self.abstract\_class many times against SQL Server without  
incident.

So, is this a bug or does self.abstract\_class not do what I think it  
does?

Thanks,  
Wes
