Problem with Redmine

I am having a problem getting Redmine to run with Oracle (11.2) backend.
I get this error (below) because Oracle table names are limited to 30
characters. Does anyone around here know of a fix or workaround? I’m
wondering if I can simple change the table name, or if that will break
the application.

When doing a db migrate to an Oracle db this creates the error below.

I’m so close, but now when I do:

RAILS_ENV=production rake db:migrate --trace

I get:

AddOpenIdAuthenticationTables: migrating

– create_table(:open_id_authentication_associations, {:force=>true})
rake aborted!
An error has occurred, all later migrations canceled:

OCIError: ORA-00972: identifier is too long: CREATE TABLE
“OPEN_ID_AUTHENTICATION_ASSOCIATIONS” (“ID” NUMBER NOT NULL PRIMARY KEY,
“ISSUED” NUMBER, “LIFETIME” NUMBER, “HANDLE” VARCHAR2, “ASSOC_TYPE”
VARCHAR2, “SERVER_URL” BLOB, “SECRET” BLOB)
/opt/redmine-1.1.2/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:219:in
log' /usr/local/lib/ruby/gems/1.8/gems/activerecord-oracle_enhanced-adapter-1.3.2/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb:1077:inlog’
/usr/local/lib/ruby/gems/1.8/gems/activerecord-oracle_enhanced-adapter-1.3.2/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb:493:in
execute' /usr/local/lib/ruby/gems/1.8/gems/activerecord-oracle_enhanced-adapter-1.3.2/lib/active_record/connection_adapters/oracle_enhanced_schema_statements.rb:84:increate_table’

Any help is greatly appreciated!

On Fri, Mar 11, 2011 at 7:31 AM, Matthew R. [email protected]
wrote:

OCIError: ORA-00972: identifier is too long: CREATE TABLE

/usr/local/lib/ruby/gems/1.8/gems/activerecord-oracle_enhanced-adapter-1.3.2/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb:493:in

`execute’

/usr/local/lib/ruby/gems/1.8/gems/activerecord-oracle_enhanced-adapter-1.3.2/lib/active_record/connection_adapters/oracle_enhanced_schema_statements.rb:84:in

`create_table’

Any help is greatly appreciated!

Changing the name is what you will need to do to get it to run under
Oracle
11. There will be issues with the application since you are changing a
table
name. You are going to have to rework your code so that all the
relationships are correctly work or else they will be looking for a
table
that is not in the database.

If you are the author of the code that uses that table then you have
some
work ahead of you. If you are not, then you need to send it back to your
developers explaining that the table name is too long for Oracle 11 and
they
will need to rework the code. Good luck.

B.

On 11 March 2011 14:52, Bryan C. [email protected] wrote:

You are going to have to rework your code

If you are the author of the code that uses that table then you have
some work ahead of you. If you are not, then you need to send it back
to your developers explaining that the table name is too long for Oracle
11 and they will need to rework the code. Good luck.

It’s not his code… he said, it’s Redmine…

On Fri, Mar 11, 2011 at 7:31 AM, Matthew R. [email protected] wrote:

I am having a problem getting Redmine to run with Oracle because Oracle table
names are limited to 30
characters. Does anyone around here know of a fix or workaround? I’m
wondering if I can simple change the table name, or if that will break
the application.
“OPEN_ID_AUTHENTICATION_ASSOCIATIONS” (“ID” NUMBER NOT NULL PRIMARY
Any help is greatly appreciated!

You may be able to get away with changing the table name in the
migration and then editing the model to specify the new table name:

class Mouse < ActiveRecord::Base
def self.table_name() “mice” end
end

However, according to the release notes, Oracle support should be in
there:

but the install notes don’t mention it:

…but another “but” - it looks like your conflict is with one of the
plugins that Remine uses:
/ vendor / plugins / open_id_authentication
…so there may not be much Redmine has to do with it, but it’s an
open_id_authentication

I’m no Oracle admin, but can you use Aliases to help?

Is there any reason why you can’t use mySQL or SQLite?.. might save a
lot of hassle if you can…