Ticket #199 (new defect)

Opened 3 years ago

no support for `config.active_record.table_name_prefix`

Reported by: ironoxid Assigned to:
Priority: minor Milestone:
Component: other Version:
Keywords: Cc:

Description

use example from my config/environment.rb

Rails::Initializer.run do |config|
  ...
  config.active_record.table_name_prefix = 'tools_'
  ...
end

Actually Globalize doesn't support this feature, so rake globalize:setup generates wrong tables. I didn't know how to solve this problem with rake but I can provide some ideas (after tables creation). We need changes on some files to support this features:

/globalize/lib/globalize/localization/db_translate.rb:844

from

joins_clause  << " LEFT OUTER JOIN globalize_translations AS #{facet_table_alias} " +

to

joins_clause  << " LEFT OUTER JOIN #{Globalize::Translate.table_name} AS #{facet_table_alias} " +

/globalize/lib/globalize/localization/db_translate.rb:881

from

joins_clause  << " LEFT OUTER JOIN globalize_translations AS #{facet_table_alias} " +

to

joins_clause  << " LEFT OUTER JOIN #{Globalize::Translate.table_name} AS #{facet_table_alias} " +

Change set_table_name for

models/translation.rb models/country.rb models/language.rb

ex. from

set_table_name "globalize_translations"

to

set_table_name "#{ActiveRecord::Base.table_name_prefix}globalize_translations"

Edit models/view_translation.rb:17

from

SELECT distinct(namespace) FROM globalize_translations order by namespace

to

SELECT distinct(namespace) FROM #{Globalize::Translate.table_name} order by namespace