@Zlat1997

Postgresql + apartment. Проблема миграций, column «database» does not exist?

Добавил колонку username в User (devise)
class AddUsernameToUser < ActiveRecord::Migration
  def change
      add_column :users, :username, :string, null: false

      add_index :users, :username, unique: true
  end
end

и настроил apartment gem так что бы username был поддоменом, то есть например username.local.dev.
Это работает, не смотря на то что миграция не завершается, падает с ошибкой:
rake aborted!
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR:  column "database" does not exist
LINE 1: SELECT database FROM "public"."users"
               ^
: SELECT database FROM "public"."users"
/Users/mihail/Documents/workspace/work/RailsApp/s4t/config/initializers/apartment.rb:26:in `block (2 levels) in <top (required)>'
PG::UndefinedColumn: ERROR:  column "database" does not exist
LINE 1: SELECT database FROM "public"."users"
               ^
/Users/mihail/Documents/workspace/work/RailsApp/s4t/config/initializers/apartment.rb:26:in `block (2 levels) in <top (required)>'
Tasks: TOP => apartment:migrate
(See full trace by running task with --trace)

В чем может быть проблема, заранее спасибо.
  • Вопрос задан
  • 320 просмотров
Решения вопроса 1
Jeiwan
@Jeiwan
Вы не до конца настроили apartment. В файле config/initializers/apartment.rb в 26 строчке нужно указать массив всех доступных tenant'ов, то есть поддоменов в вашем случае. Так как вы их храните в колонке username модели User, то эта строчка должны выглядеть так:
config.tenant_names = lambda { User.pluck :username }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы