apartment 0.9.1 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/HISTORY.md CHANGED
@@ -1,3 +1,8 @@
1
+ # 0.9.2
2
+ * July 4, 2011
3
+
4
+ - Migrations now run associated rails migration fully, fixes schema.rb not being reloaded after migrations
5
+
1
6
  # 0.9.1
2
7
  * June 24, 2011
3
8
 
@@ -1,3 +1,3 @@
1
1
  module Apartment
2
- VERSION = "0.9.1"
2
+ VERSION = "0.9.2"
3
3
  end
@@ -1,20 +1,17 @@
1
1
  apartment_namespace = namespace :apartment do
2
-
3
- desc "Migrate all multi-tenant databases"
4
- task :migrate => :environment do
5
- ActiveRecord::Migrator.migrate(ActiveRecord::Migrator.migrations_path)
6
2
 
3
+ desc "Migrate all multi-tenant databases"
4
+ task :migrate => 'db:migrate' do
5
+
7
6
  Apartment.database_names.each do |db|
8
- # Note sure I should use puts here, but Rails.logger doesn't work, how do I log in migrations?
9
7
  puts("Migrating #{db} database")
10
8
  Apartment::Migrator.migrate db
11
9
  end
12
10
  end
13
11
 
14
12
  desc "Seed all multi-tenant databases"
15
- task :seed => :environment do
16
- Apartment::Database.seed
17
-
13
+ task :seed => 'db:seed' do
14
+
18
15
  Apartment.database_names.each do |db|
19
16
  puts("Seeding #{db} database")
20
17
  Apartment::Database.process(db) do
@@ -24,10 +21,9 @@ apartment_namespace = namespace :apartment do
24
21
  end
25
22
 
26
23
  desc "Rolls the schema back to the previous version (specify steps w/ STEP=n) across all multi-tenant dbs."
27
- task :rollback => :environment do
24
+ task :rollback => 'db:rollback' do
28
25
  step = ENV['STEP'] ? ENV['STEP'].to_i : 1
29
- ActiveRecord::Migrator.rollback(ActiveRecord::Migrator.migrations_path, step)
30
-
26
+
31
27
  Apartment.database_names.each do |db|
32
28
  puts("Rolling back #{db} database")
33
29
  Apartment::Migrator.rollback db, step
@@ -37,10 +33,9 @@ apartment_namespace = namespace :apartment do
37
33
  namespace :migrate do
38
34
 
39
35
  desc 'Runs the "up" for a given migration VERSION across all multi-tenant dbs.'
40
- task :up => :environment do
36
+ task :up => 'db:migrate:up' do
41
37
  version = ENV['VERSION'] ? ENV['VERSION'].to_i : nil
42
38
  raise 'VERSION is required' unless version
43
- ActiveRecord::Migrator.run(:up, ActiveRecord::Migrator.migrations_path, version)
44
39
 
45
40
  Apartment.database_names.each do |db|
46
41
  puts("Migrating #{db} database up")
@@ -49,10 +44,9 @@ apartment_namespace = namespace :apartment do
49
44
  end
50
45
 
51
46
  desc 'Runs the "down" for a given migration VERSION across all multi-tenant dbs.'
52
- task :down => :environment do
47
+ task :down => 'db:migrate:down' do
53
48
  version = ENV['VERSION'] ? ENV['VERSION'].to_i : nil
54
49
  raise 'VERSION is required' unless version
55
- ActiveRecord::Migrator.run(:down, ActiveRecord::Migrator.migrations_path, version)
56
50
 
57
51
  Apartment.database_names.each do |db|
58
52
  puts("Migrating #{db} database down")
@@ -61,7 +55,7 @@ apartment_namespace = namespace :apartment do
61
55
  end
62
56
 
63
57
  desc 'Rollbacks the database one migration and re migrate up (options: STEP=x, VERSION=x).'
64
- task :redo => :environment do
58
+ task :redo => 'db:migrate:redo' do
65
59
  if ENV['VERSION']
66
60
  apartment_namespace['migrate:down'].invoke
67
61
  apartment_namespace['migrate:up'].invoke
@@ -59,7 +59,7 @@ describe "apartment rake tasks" do
59
59
 
60
60
  describe "apartment:seed" do
61
61
  it "should seed all databases" do
62
- Apartment::Database.should_receive(:seed).exactly(@db_names.length + 1).times # +1 for the public db
62
+ Apartment::Database.should_receive(:seed).exactly(@db_names.length).times
63
63
 
64
64
  @rake['apartment:seed'].invoke
65
65
  end
@@ -7,7 +7,13 @@ describe "apartment rake tasks" do
7
7
  @rake = Rake::Application.new
8
8
  Rake.application = @rake
9
9
  load 'tasks/apartment.rake'
10
- Rake::Task.define_task(:environment) # stub out loading rails environment
10
+ # stub out rails tasks
11
+ Rake::Task.define_task('db:migrate')
12
+ Rake::Task.define_task('db:seed')
13
+ Rake::Task.define_task('db:rollback')
14
+ Rake::Task.define_task('db:migrate:up')
15
+ Rake::Task.define_task('db:migrate:down')
16
+ Rake::Task.define_task('db:migrate:redo')
11
17
  end
12
18
 
13
19
  after do
@@ -31,7 +37,6 @@ describe "apartment rake tasks" do
31
37
  end
32
38
 
33
39
  it "should migrate public and all multi-tenant dbs" do
34
- ActiveRecord::Migrator.should_receive(:migrate).once
35
40
  Apartment::Migrator.should_receive(:migrate).exactly(db_count).times
36
41
  @rake['apartment:migrate'].invoke
37
42
  end
@@ -58,7 +63,6 @@ describe "apartment rake tasks" do
58
63
  end
59
64
 
60
65
  it "migrates up to a specific version" do
61
- ActiveRecord::Migrator.should_receive(:run).with(:up, anything, version.to_i).once
62
66
  Apartment::Migrator.should_receive(:run).with(:up, anything, version.to_i).exactly(db_count).times
63
67
  @rake['apartment:migrate:up'].invoke
64
68
  end
@@ -86,7 +90,6 @@ describe "apartment rake tasks" do
86
90
  end
87
91
 
88
92
  it "migrates up to a specific version" do
89
- ActiveRecord::Migrator.should_receive(:run).with(:down, anything, version.to_i).once
90
93
  Apartment::Migrator.should_receive(:run).with(:down, anything, version.to_i).exactly(db_count).times
91
94
  @rake['apartment:migrate:down'].invoke
92
95
  end
@@ -98,13 +101,11 @@ describe "apartment rake tasks" do
98
101
  let(:step){ '3' }
99
102
 
100
103
  it "should rollback dbs" do
101
- ActiveRecord::Migrator.should_receive(:rollback).once
102
104
  Apartment::Migrator.should_receive(:rollback).exactly(db_count).times
103
105
  @rake['apartment:rollback'].invoke
104
106
  end
105
107
 
106
108
  it "should rollback dbs STEP amt" do
107
- ActiveRecord::Migrator.should_receive(:rollback).once
108
109
  Apartment::Migrator.should_receive(:rollback).with(anything, step.to_i).exactly(db_count).times
109
110
  ENV['STEP'] = step
110
111
  @rake['apartment:rollback'].invoke
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: apartment
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.9.1
5
+ version: 0.9.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Ryan Brunner
@@ -186,7 +186,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
186
186
  requirements:
187
187
  - - ">="
188
188
  - !ruby/object:Gem::Version
189
- hash: 749751042564884907
189
+ hash: 1126220868121977386
190
190
  segments:
191
191
  - 0
192
192
  version: "0"
@@ -195,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
195
195
  requirements:
196
196
  - - ">="
197
197
  - !ruby/object:Gem::Version
198
- hash: 749751042564884907
198
+ hash: 1126220868121977386
199
199
  segments:
200
200
  - 0
201
201
  version: "0"