2

我正在使用公寓 gem 和 MySQL 作为数据库在 Rails 中创建一个多租户应用程序。我在https://gorails.com/episodes/multitenancy-with-apartment之后设置了公寓。

在此之后,每当我创建一个新的子域时,都会为每个子域创建新的数据库。现在,如果我执行 rake db:drop,它只会删除主数据库,所有子域数据库都保持不变。

我的查询是如何删除子域数据库。

4

1 回答 1

5

您应该能够使用以下方法列出现有租户:

Apartment.tenant_names

你应该可以删除一个使用

Apartment::Tenant.drop('tenant_name')

https://github.com/influitive/apartment#dropping-tenants

但是,我将 Apartment 与 PostreSQL 一起使用,生成的模式并没有真正正确删除,我必须手动使用

ActiveRecord::Base.connection.execute "DROP SCHEMA IF EXISTS #{tenant} CASCADE;"
于 2016-04-19T12:58:24.097 回答