"Sequence does not exist" for joined model

Hello all,
I'm in my 5th month on Ruby on Rails and still learning.

I have an application that works fine in sqlite3 and then the boss says
he wants it migrated to Oracle.
Now, I know very little about Oracle, enough to get into trouble.

When I did the migration everything went haywire. Well, I've refactored
several problems and now I have another.

I have two models with a many to many relationship and additional join
model. This model has no PK id.

When I try to do a create() to this model, BLAM!

I get this...

Processing ReviewsController#create_association (for at
2010-02-24 15:29:08) [GET]
  Parameters: {"review"=>{"irb_id"=>["35540"]},
"action"=>"create_association", "id"=>"1", "controller"=>"reviews"}

ActiveRecord::StatementInvalid (OCIError: ORA-02289: sequence does not
exist: SELECT reviews_seq.NEXTVAL id FROM dual):
  app/controllers/reviews_controller.rb:27:in `create_association'

Rendering C:/RoRApps/ProjectDB/public/500.html (500 Internal Server

I believe it's because of the lack of an ID for the joined model.

Thank you for any advice here.


In Oracle you need to create ‘sequences’ which populate primary keys.

Given the choice, I would steer clear of Oracle with Rails - what’s you boss’ reasoning for wanting to use it over sqlite or mysql?

I just added an PK ID into the joined table and good to go.

Thanks John

I agree with you.

I had the application working fine with SQLite and then he (not just he
but the department) wanted the Oracle migration.

The reason being is the department is a big Oracle house, even though
they have apps with MS-SQL and mySQL.

Oh, I did create a sequence also. All works for now.

I've had one heck of a time in the migration over to Oracle.

Thanks again.


The last time (spring 2009) I had to use Oracle with Rails, I was
finding occasional bugs in the adapter code (which was frustrating).
And Oracle's handling of midnight/midday was a bit of a thorny issue

No idea if it's been advanced, but forewarned is forearmed :slight_smile: