Как указать название таблицы перевода. Globalize - PullRequest
0 голосов
/ 20 января 2020

В моем приложении есть таблица перевода для модели Category.

Мне нужно создать дополнительную таблицу для модели 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 нет метода или опции для указания имени таблицы. Я sh могу сделать это без переопределения Article :: Category имя класса.

1 Ответ

0 голосов
/ 21 января 2020

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

def self.table_name_prefix
  'article_'
end

В объявлении модуля Article

module Article
  def self.table_name_prefix
    'article_'
  end
end
...