Commit b20423af0807d3d23501a916b371b9363ee484c2

Authored by Weblate
2 parents 65184d76 2baa37a9

Merge remote-tracking branch 'origin/master'

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  
... ...