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: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: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! -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Fri, Mar 11, 2011 at 7:31 AM, Matthew R. <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> 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: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: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. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On 11 March 2011 14:52, Bryan Crossland <bacrossland-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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. <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> 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: http://www.redmine.org/projects/redmine/wiki/Changelog_0_6 but the install notes don''t mention it: http://www.redmine.org/projects/redmine/wiki/RedmineInstall ..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? http://www.oracle-base.com/articles/misc/NamingConventions.php#Aliasing Is there any reason why you can''t use mySQL or SQLite?... might save a lot of hassle if you can... -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Possibly Parallel Threads
- "Sequence does not exist" for joined model
- rails application working, rake tasks not
- ActiveRecord::StatementInvalid (invalid date) with Oracle
- ORA-12514: TNS:listener d oes not currently know of service requested in connect descriptor (OCIEr
- error : Redmine