Как указать имя таблицы перевода. Глобализация

У меня есть таблица перевода для модели категории в моем приложении.

Мне нужно создать дополнительную таблицу для модели Article::Category с драгоценным камнем Globalize.

Миграция категории содержит следующее обратимое создание:

reversible do |dir|
  dir.up do
    Category.create_translation_table! name: :string,
                                       description: :text
  end

  dir.down do
    Category.drop_translation_table!
  end
end

Статья::Миграция категорий почти такая же

reversible do |dir|
  dir.up do
    Article::Category.create_translation_table! title: :string
  end

  dir.down do
    Article::Category.drop_translation_table!
  end
end

Когда я пытаюсь выполнить db:migrate, у меня возникает ошибка: PG::DuplicateTable: ERROR: relation "category_translations" already exists

Как указать имя таблицы, когда модуль уже указан в миграции (Article::Category.create_translion_table!)

В globalize gem нет метода или опции для указания имени таблицы. Я хочу сделать это без переопределения имени класса Article::Category.


person Eugene    schedule 20.01.2020    source источник


Ответы (1)


Решено добавлением

def self.table_name_prefix
  'article_'
end

В объявлении модуля статьи

module Article
  def self.table_name_prefix
    'article_'
  end
end
person Eugene    schedule 21.01.2020