драгоценный камень квартиры - не создавать таблицы postgresql

Рельсы 5.x, постгрес, apartment гем

только ниже двух таблиц, созданных, когда Apartment::Tenant.create('microsoft') другие 20 таблиц не созданы, все еще в общедоступных схемах. microsoft схема создана, но не таблицы

введите здесь описание изображения

Вот мой apartment.rb

config.excluded_models = %w{ Account }

и имена арендаторов

config.tenant_names = lambda { Account.pluck :domain }

использовать схемы

config.use_schemas = true

когда я делаю rake db:migrate, он ничего не создает в schema.rb, тогда как я создал новое приложение с квартирой. он генерирует еще один набор миграции внутри schema.rb.

eg: create_table "companies", force: :cascade do |t|


person ramamoorthy_villi    schedule 21.08.2020    source источник


Ответы (2)


Пожалуйста, проверьте файл apartment.rb в инициализаторах.

Убедитесь, что ваш новый клиент настроен. Если у вас есть статический массив, вам необходимо его расширить.

config.tenant_names = ['tenant1', 'myothertenant', 'microsoft']

Вы также можете сделать его динамическим, добавив лямбду в конфиг:

config.tenant_names = lambda { some_tenant_loading_func }

Также убедитесь, что вы установили конкретную опцию pg:

config.use_schemas = true

Этот параметр указывает, следует ли использовать схемы PostgreSQL или создавать новую базу данных для каждого арендатора.

person Erwin Schens    schedule 21.08.2020

sql формат включен config/application.rb

config.active_record.schema_format = :sql

как указано в конфигурации квартиры,

Apartment можно заставить использовать необработанные дампы SQL вместо schema.rb для создания новых схем. Используйте это, когда вы используете некоторые дополнительные функции в PostgreSQL, которые не могут быть представлены в schema.rb, например материализованные представления и т. д. (применяется только с параметром use_schemas, равным true). (Примечание: этот параметр не использует db/structure.sql, он создает дамп SQL, выполняя pg_dump)

config.use_sql = true

исправил проблему.

person ramamoorthy_villi    schedule 21.08.2020