Commit b20423af0807d3d23501a916b371b9363ee484c2
Exists in
master
and in
27 other branches
Merge remote-tracking branch 'origin/master'
Showing
3 changed files
with
8 additions
and
8 deletions
Show diff stats
INSTALL.multitenancy.md
| ... | ... | @@ -26,7 +26,7 @@ The file config/database.yml must follow a structure in order to achieve multite |
| 26 | 26 | |
| 27 | 27 | Each "hosted" environment must have an entry like this: |
| 28 | 28 | |
| 29 | - env1_production: | |
| 29 | + env1_production: &DEFAULT | |
| 30 | 30 | adapter: postgresql |
| 31 | 31 | encoding: unicode |
| 32 | 32 | database: noosfero |
| ... | ... | @@ -61,7 +61,7 @@ The "hosted" environments define, besides the `schema_search_path`, a list of do |
| 61 | 61 | You must also tell the application which is the default environment. |
| 62 | 62 | |
| 63 | 63 | production: |
| 64 | - env1_production | |
| 64 | + <<: *DEFAULT | |
| 65 | 65 | |
| 66 | 66 | On the example above there are only three hosted environments, but it can be more than three. The schemas `env2` and `env3` must already exist in the same database of the hosting environment. As postgres user, you can create them typing: |
| 67 | 67 | ... | ... |
config/database.yml.multitenancy
| 1 | 1 | # Refer to INSTALL.multitenancy for more information on Multitenancy support |
| 2 | -env1_production: | |
| 2 | +env1_production: &DEFAULT | |
| 3 | 3 | adapter: postgresql |
| 4 | 4 | encoding: unicode |
| 5 | 5 | database: noosfero |
| ... | ... | @@ -30,4 +30,4 @@ env3_production: |
| 30 | 30 | - env3.net |
| 31 | 31 | |
| 32 | 32 | production: |
| 33 | - env1_production | |
| 33 | + <<: *DEFAULT | ... | ... |
lib/tasks/multitenancy.rake
| 1 | 1 | namespace :multitenancy do |
| 2 | 2 | |
| 3 | - task :create do | |
| 3 | + task :create => :environment do | |
| 4 | 4 | db_envs = ActiveRecord::Base.configurations.keys.select{ |k| k.match(/_development$|_production$|_test$/) } |
| 5 | 5 | cd Rails.root.join('config', 'environments'), :verbose => true |
| 6 | - file_envs = Dir.glob "{*_development.rb,*_prodution.rb,*_test.rb}" | |
| 6 | + file_envs = Dir.glob "{*_development.rb,*_production.rb,*_test.rb}" | |
| 7 | 7 | (db_envs.map{ |e| e + '.rb' } - file_envs).each { |env| ln_s env.split('_').last, env } |
| 8 | 8 | end |
| 9 | 9 | |
| 10 | - task :remove do | |
| 10 | + task :remove => :environment do | |
| 11 | 11 | db_envs = ActiveRecord::Base.configurations.keys.select{ |k| k.match(/_development$|_production$|_test$/) } |
| 12 | 12 | cd Rails.root.join('config', 'environments'), :verbose => true |
| 13 | - file_envs = Dir.glob "{*_development.rb,*_prodution.rb,*_test.rb}" | |
| 13 | + file_envs = Dir.glob "{*_development.rb,*_production.rb,*_test.rb}" | |
| 14 | 14 | (file_envs - db_envs.map{ |e| e + '.rb' }).each { |env| safe_unlink env } |
| 15 | 15 | end |
| 16 | 16 | ... | ... |