apartment 0.9.1 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
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"