storey 1.0.0 → 2.0.0
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.
- checksums.yaml +5 -5
- data/.ruby-version +1 -1
- data/.travis.yml +11 -7
- data/Appraisals +9 -4
- data/CHANGELOG.md +26 -9
- data/Gemfile +1 -2
- data/README.md +13 -0
- data/docker-compose.yml +10 -0
- data/gemfiles/rails_5.0.gemfile +10 -0
- data/gemfiles/rails_5.0.gemfile.lock +154 -0
- data/gemfiles/rails_5.1.gemfile +9 -0
- data/gemfiles/rails_5.1.gemfile.lock +153 -0
- data/gemfiles/rails_5.2.gemfile +9 -0
- data/gemfiles/rails_5.2.gemfile.lock +161 -0
- data/lib/storey/builds_dump_command.rb +7 -1
- data/lib/storey/duplicator.rb +2 -6
- data/lib/storey/get_migration_versions.rb +21 -0
- data/lib/storey/migrator.rb +29 -8
- data/lib/storey/sql_dumper.rb +10 -6
- data/lib/storey/suffixifier.rb +2 -2
- data/lib/storey/version.rb +1 -1
- data/lib/storey.rb +6 -7
- data/spec/dummy/config/database.yml.sample +2 -1
- data/spec/dummy/config/initializers/migrations_path.rb +2 -2
- data/spec/dummy/db/migrate/20120115060713_create_companies.rb +1 -1
- data/spec/dummy/db/migrate/20120115060728_create_posts.rb +1 -1
- data/spec/migrator_spec.rb +15 -10
- data/spec/storey/builds_dump_command_spec.rb +26 -0
- data/spec/storey/create_spec.rb +2 -2
- data/spec/storey/duplicate_spec.rb +2 -2
- data/spec/storey/get_migration_versions_spec.rb +42 -0
- data/spec/storey/schema_search_path_for_spec.rb +2 -2
- data/spec/storey/schema_spec.rb +6 -0
- data/spec/storey/schemas_spec.rb +15 -7
- data/spec/storey/suffixifier_spec.rb +4 -4
- data/spec/storey/switch_spec.rb +4 -2
- data/spec/tasks/storey_rake_spec.rb +12 -12
- data/storey.gemspec +2 -2
- metadata +29 -23
- data/gemfiles/rails_3.gemfile +0 -9
- data/gemfiles/rails_3.gemfile.lock +0 -130
- data/gemfiles/rails_4.gemfile +0 -9
- data/gemfiles/rails_4.gemfile.lock +0 -144
@@ -0,0 +1,21 @@
|
|
1
|
+
module Storey
|
2
|
+
class GetMigrationVersions
|
3
|
+
|
4
|
+
def self.call(schema = nil)
|
5
|
+
return migration_versions if schema.nil?
|
6
|
+
Storey.switch(schema) { migration_versions }
|
7
|
+
end
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def self.migration_versions
|
12
|
+
if Gem::Version.new(ActiveRecord::VERSION::STRING) < Gem::Version.new("5.2")
|
13
|
+
::ActiveRecord::Migrator.get_all_versions
|
14
|
+
else
|
15
|
+
::ActiveRecord::Base.connection.migration_context.
|
16
|
+
get_all_versions
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
data/lib/storey/migrator.rb
CHANGED
@@ -13,18 +13,13 @@ module Storey
|
|
13
13
|
def self.migrate(schema, options={})
|
14
14
|
Storey.switch schema do
|
15
15
|
puts "= Migrating #{schema}"
|
16
|
-
|
17
|
-
options[:version])
|
16
|
+
active_record_migrate(options[:version])
|
18
17
|
end
|
19
18
|
end
|
20
19
|
|
21
20
|
def self.run(direction, schema, version)
|
22
21
|
Storey.switch schema do
|
23
|
-
|
24
|
-
direction,
|
25
|
-
::ActiveRecord::Migrator.migrations_path,
|
26
|
-
version
|
27
|
-
)
|
22
|
+
active_record_run(direction, version)
|
28
23
|
end
|
29
24
|
end
|
30
25
|
|
@@ -39,11 +34,37 @@ module Storey
|
|
39
34
|
Storey.switch schema do
|
40
35
|
puts "= Rolling back `#{schema}` #{step} steps"
|
41
36
|
::ActiveRecord::Migrator.rollback(
|
42
|
-
::ActiveRecord::Migrator.
|
37
|
+
::ActiveRecord::Migrator.migrations_paths,
|
43
38
|
step
|
44
39
|
)
|
45
40
|
end
|
46
41
|
end
|
47
42
|
|
43
|
+
private
|
44
|
+
|
45
|
+
def self.active_record_migrate(version)
|
46
|
+
if Gem::Version.new(ActiveRecord::VERSION::STRING) < Gem::Version.new("5.2")
|
47
|
+
::ActiveRecord::Migrator.migrate(
|
48
|
+
::ActiveRecord::Migrator.migrations_paths,
|
49
|
+
version,
|
50
|
+
)
|
51
|
+
else
|
52
|
+
::ActiveRecord::Tasks::DatabaseTasks.migrate
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def self.active_record_run(direction, target_version)
|
57
|
+
if Gem::Version.new(ActiveRecord::VERSION::STRING) < Gem::Version.new("5.2")
|
58
|
+
::ActiveRecord::Migrator.run(
|
59
|
+
direction,
|
60
|
+
::ActiveRecord::Migrator.migrations_paths,
|
61
|
+
target_version
|
62
|
+
)
|
63
|
+
else
|
64
|
+
::ActiveRecord::Base.connection.migration_context.
|
65
|
+
run(direction, target_version)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
48
69
|
end
|
49
70
|
end
|
data/lib/storey/sql_dumper.rb
CHANGED
@@ -8,8 +8,8 @@ module Storey
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def dump
|
11
|
-
|
12
|
-
raise
|
11
|
+
stdout_str, stderr_str, status = Open3.capture3(command)
|
12
|
+
raise "Error dumping database: #{stderr_str}" if status.exitstatus != 0
|
13
13
|
end
|
14
14
|
|
15
15
|
private
|
@@ -27,10 +27,14 @@ module Storey
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def command
|
30
|
-
@command
|
31
|
-
|
32
|
-
|
33
|
-
|
30
|
+
return @command if defined?(@command)
|
31
|
+
args = Storey.database_config.slice(:host, :username, :password).merge(
|
32
|
+
structure_only: true,
|
33
|
+
file: @file,
|
34
|
+
schemas: search_path,
|
35
|
+
database: database_name,
|
36
|
+
)
|
37
|
+
@command = BuildsDumpCommand.execute(args)
|
34
38
|
end
|
35
39
|
|
36
40
|
end
|
data/lib/storey/suffixifier.rb
CHANGED
@@ -16,13 +16,13 @@ module Storey
|
|
16
16
|
else
|
17
17
|
"#{schema_name}#{suffix}"
|
18
18
|
end
|
19
|
-
end.join(',')
|
19
|
+
end.join(', ')
|
20
20
|
end
|
21
21
|
|
22
22
|
private
|
23
23
|
|
24
24
|
def schema_names
|
25
|
-
@schema_names ||= @schema_name.split(',')
|
25
|
+
@schema_names ||= @schema_name.split(',').map(&:strip)
|
26
26
|
end
|
27
27
|
|
28
28
|
def suffix
|
data/lib/storey/version.rb
CHANGED
data/lib/storey.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'easy_class_to_instance_method'
|
2
2
|
require "active_support/core_ext/module" # so we can use mattr_accessor
|
3
|
+
require "open3"
|
3
4
|
|
4
5
|
require "storey/version"
|
5
6
|
require "rails/all"
|
@@ -20,6 +21,7 @@ require 'storey/builds_dump_command'
|
|
20
21
|
require 'storey/builds_load_command'
|
21
22
|
require 'storey/schema_name'
|
22
23
|
require 'storey/sets_env_password'
|
24
|
+
require 'storey/get_migration_versions'
|
23
25
|
|
24
26
|
module Storey
|
25
27
|
|
@@ -56,12 +58,9 @@ module Storey
|
|
56
58
|
options[:suffix] ||= false
|
57
59
|
|
58
60
|
name = ::ActiveRecord::Base.connection.schema_search_path
|
59
|
-
|
60
|
-
if options[:
|
61
|
-
|
62
|
-
else
|
63
|
-
unsuffixify name
|
64
|
-
end
|
61
|
+
name = unsuffixify(name) if !options[:suffix]
|
62
|
+
return name.split(",").map(&:strip) if options[:array]
|
63
|
+
name
|
65
64
|
end
|
66
65
|
|
67
66
|
def create(name, options={}, &block)
|
@@ -155,7 +154,7 @@ module Storey
|
|
155
154
|
|
156
155
|
schemas_in_db = self.schemas(suffix: self.suffix.present?)
|
157
156
|
schemas_in_db << %("$user")
|
158
|
-
schema_names = schema_name.split(',')
|
157
|
+
schema_names = schema_name.split(',').map(&:strip)
|
159
158
|
schemas_not_in_db = schema_names - schemas_in_db
|
160
159
|
schemas_not_in_db.empty?
|
161
160
|
end
|
@@ -1,2 +1,2 @@
|
|
1
|
-
|
2
|
-
ActiveRecord::Migrator.
|
1
|
+
dummy_migrations_paths = File.join(File.dirname(__FILE__), '..', '..', 'db', 'migrate')
|
2
|
+
ActiveRecord::Migrator.migrations_paths = dummy_migrations_paths
|
data/spec/migrator_spec.rb
CHANGED
@@ -2,7 +2,9 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Storey::Migrator do
|
4
4
|
before do
|
5
|
-
|
5
|
+
# split and join to make the expectation later consistent with the code
|
6
|
+
@original_schema = ::ActiveRecord::Base.connection.schema_search_path.
|
7
|
+
split(",").map(&:strip).join(", ")
|
6
8
|
@schema_1 = "first_schema"
|
7
9
|
Storey.create @schema_1
|
8
10
|
end
|
@@ -37,7 +39,6 @@ describe Storey::Migrator do
|
|
37
39
|
end
|
38
40
|
|
39
41
|
it "should migrate db" do
|
40
|
-
ActiveRecord::Migrator.should_receive(:migrate)
|
41
42
|
Storey::Migrator.migrate(@schema_1)
|
42
43
|
end
|
43
44
|
end
|
@@ -58,10 +59,12 @@ describe Storey::Migrator do
|
|
58
59
|
Storey::Migrator.run(:up, @schema_1, @migration_version_2)
|
59
60
|
end
|
60
61
|
|
61
|
-
it "
|
62
|
-
|
63
|
-
|
64
|
-
|
62
|
+
it "migrates up a specific version" do
|
63
|
+
Storey.create("blankschema", load_database_structure: false)
|
64
|
+
Storey::Migrator.run(:up, "blankschema", @migration_version_1)
|
65
|
+
|
66
|
+
expect(Storey::GetMigrationVersions.("blankschema")).
|
67
|
+
to match([@migration_version_1])
|
65
68
|
end
|
66
69
|
end
|
67
70
|
|
@@ -74,10 +77,12 @@ describe Storey::Migrator do
|
|
74
77
|
Storey::Migrator.run(:down, @schema_1, @migration_version_2)
|
75
78
|
end
|
76
79
|
|
77
|
-
it "
|
78
|
-
|
79
|
-
|
80
|
-
|
80
|
+
it "migrates down a specific version" do
|
81
|
+
Storey.create("blankschema")
|
82
|
+
Storey::Migrator.run(:down, "blankschema", @migration_version_1)
|
83
|
+
|
84
|
+
expect(Storey::GetMigrationVersions.("blankschema")).
|
85
|
+
to match([@migration_version_2])
|
81
86
|
end
|
82
87
|
end
|
83
88
|
|
@@ -16,6 +16,32 @@ describe Storey::BuildsDumpCommand do
|
|
16
16
|
}
|
17
17
|
end
|
18
18
|
|
19
|
+
context "when host is specified" do
|
20
|
+
before do
|
21
|
+
options.merge!(host: "localhost")
|
22
|
+
end
|
23
|
+
|
24
|
+
it { is_expected.to include("--host=localhost") }
|
25
|
+
end
|
26
|
+
|
27
|
+
context "when username is specified" do
|
28
|
+
before do
|
29
|
+
options.merge!(username: "username")
|
30
|
+
end
|
31
|
+
|
32
|
+
it { is_expected.to include("--username=username") }
|
33
|
+
end
|
34
|
+
|
35
|
+
context "when password is specified" do
|
36
|
+
before do
|
37
|
+
options.merge!(password: "pass")
|
38
|
+
end
|
39
|
+
|
40
|
+
it "sets the PGPASSWORD env variable" do
|
41
|
+
expect(subject).to match(/^PGPASSWORD=pass/)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
19
45
|
context 'when structure_only: true' do
|
20
46
|
before do
|
21
47
|
options.merge!(
|
data/spec/storey/create_spec.rb
CHANGED
@@ -46,9 +46,9 @@ describe Storey, "#create" do
|
|
46
46
|
|
47
47
|
it "should copy the schema_migrations over" do
|
48
48
|
Storey.create "foobar"
|
49
|
-
public_schema_migrations = Storey.switch {
|
49
|
+
public_schema_migrations = Storey.switch { Storey::GetMigrationVersions.() }
|
50
50
|
Storey.switch "foobar" do
|
51
|
-
|
51
|
+
Storey::GetMigrationVersions.().should == public_schema_migrations
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
@@ -43,9 +43,9 @@ describe Storey, "#duplicate!" do
|
|
43
43
|
end
|
44
44
|
|
45
45
|
it 'should copy all the schema_migrations over' do
|
46
|
-
public_schema_migrations = Storey.switch {
|
46
|
+
public_schema_migrations = Storey.switch { Storey::GetMigrationVersions.() }
|
47
47
|
Storey.switch 'bobby' do
|
48
|
-
|
48
|
+
Storey::GetMigrationVersions.().should == public_schema_migrations
|
49
49
|
end
|
50
50
|
end
|
51
51
|
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Storey
|
4
|
+
RSpec.describe GetMigrationVersions do
|
5
|
+
|
6
|
+
before do
|
7
|
+
Storey.create("schema_1") do
|
8
|
+
ActiveRecord::SchemaMigration.create!(version: 123)
|
9
|
+
end
|
10
|
+
|
11
|
+
Storey.create("schema_2") do
|
12
|
+
ActiveRecord::SchemaMigration.create!(version: 200)
|
13
|
+
ActiveRecord::SchemaMigration.create!(version: 201)
|
14
|
+
end
|
15
|
+
|
16
|
+
Storey.create("schema_3") do
|
17
|
+
ActiveRecord::SchemaMigration.create!(version: 300)
|
18
|
+
ActiveRecord::SchemaMigration.create!(version: 301)
|
19
|
+
ActiveRecord::SchemaMigration.create!(version: 302)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
context "given a schema" do
|
24
|
+
it "returns the migration versions in that schema and switches back the schema" do
|
25
|
+
expect(described_class.("schema_1")).to include(123)
|
26
|
+
expect(Storey).to be_default_schema
|
27
|
+
expect(described_class.("schema_3")).to include(300, 301, 302)
|
28
|
+
expect(Storey).to be_default_schema
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context "without a schema" do
|
33
|
+
it "returns the migration version in the current schema" do
|
34
|
+
Storey.switch "schema_1"
|
35
|
+
expect(described_class.()).to include(123)
|
36
|
+
Storey.switch "schema_2"
|
37
|
+
expect(described_class.()).to include(200, 201)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
@@ -4,9 +4,9 @@ describe Storey, '#schema_search_path_for' do
|
|
4
4
|
|
5
5
|
context 'given a search path that is one of the persistent schemas' do
|
6
6
|
Storey.persistent_schemas = %w(halla)
|
7
|
-
Storey.schema_search_path_for('bola,halla').should == 'bola,halla'
|
7
|
+
Storey.schema_search_path_for('bola,halla').should == 'bola, halla'
|
8
8
|
Storey.schema_search_path_for('halla').should == 'halla'
|
9
|
-
Storey.schema_search_path_for('halla,bola').should == 'halla,bola'
|
9
|
+
Storey.schema_search_path_for('halla,bola').should == 'halla, bola'
|
10
10
|
end
|
11
11
|
|
12
12
|
end
|
data/spec/storey/schema_spec.rb
CHANGED
@@ -5,6 +5,12 @@ describe Storey, "#schema" do
|
|
5
5
|
Storey.schema.should == %{"$user",public}
|
6
6
|
end
|
7
7
|
|
8
|
+
context "array: true" do
|
9
|
+
it "returns it as an array of strings" do
|
10
|
+
expect(Storey.schema(array: true)).to eq %w("$user" public)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
8
14
|
context "when a suffix is set" do
|
9
15
|
before do
|
10
16
|
Storey.suffix = "_rock"
|
data/spec/storey/schemas_spec.rb
CHANGED
@@ -36,15 +36,23 @@ describe Storey, "#schemas" do
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
-
context "
|
40
|
-
|
41
|
-
|
39
|
+
context "`:public` option" do
|
40
|
+
context "when `public: true`" do
|
41
|
+
it "returns an array of the schemas including the public schema" do
|
42
|
+
expect(Storey.schemas(public: true)).to include("public")
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
context "when `public: false`" do
|
47
|
+
it "returns an array of the schemas without the public schema" do
|
48
|
+
expect(Storey.schemas(public: false)).to_not include("public")
|
49
|
+
end
|
42
50
|
end
|
43
|
-
end
|
44
51
|
|
45
|
-
|
46
|
-
|
47
|
-
|
52
|
+
context "when `public` is not set" do
|
53
|
+
it "returns an array of the schemas including the public schema" do
|
54
|
+
expect(Storey.schemas).to include("public")
|
55
|
+
end
|
48
56
|
end
|
49
57
|
end
|
50
58
|
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe Storey::Suffixifier do
|
4
4
|
|
5
5
|
describe '#suffixify' do
|
6
|
-
subject do
|
6
|
+
subject(:schemas) do
|
7
7
|
described_class.new(schema_name).suffixify
|
8
8
|
end
|
9
9
|
|
@@ -20,11 +20,11 @@ describe Storey::Suffixifier do
|
|
20
20
|
it { should == 'boom_suff' }
|
21
21
|
end
|
22
22
|
|
23
|
-
context 'when given comma separated schemas' do
|
24
|
-
let(:schema_name) { '"$user",public,foo,bar,baz' }
|
23
|
+
context 'when given comma separated schemas (with inconsistent spaces)' do
|
24
|
+
let(:schema_name) { '"$user", public,foo, bar, baz' }
|
25
25
|
|
26
26
|
it 'should return a comma separted schema string with the non-native schemas suffixified' do
|
27
|
-
subject.should == '"$user",public,foo_suff,bar_suff,baz_suff'
|
27
|
+
subject.should == '"$user", public, foo_suff, bar_suff, baz_suff'
|
28
28
|
end
|
29
29
|
end
|
30
30
|
end
|
data/spec/storey/switch_spec.rb
CHANGED
@@ -136,10 +136,12 @@ describe Storey, "#switch" do
|
|
136
136
|
|
137
137
|
it 'should switch to the schema with the persitent schemas still in the search path' do
|
138
138
|
Storey.switch 'foobar'
|
139
|
-
Storey.schema.
|
139
|
+
expect(Storey.schema(array: true)).
|
140
|
+
to match_array %w(foobar handle bar foo)
|
140
141
|
|
141
142
|
Storey.switch
|
142
|
-
Storey.schema.
|
143
|
+
expect(Storey.schema(array: true)).
|
144
|
+
to match_array %w("$user" public handle bar foo)
|
143
145
|
end
|
144
146
|
end
|
145
147
|
|
@@ -6,8 +6,8 @@ describe Storey, "rake tasks" do
|
|
6
6
|
@migration_version_1 = 20120115060713
|
7
7
|
@migration_version_2 = 20120115060728
|
8
8
|
|
9
|
-
@
|
10
|
-
@
|
9
|
+
@number_of_schemas = rand(3) + 1
|
10
|
+
@number_of_schemas.times do |db|
|
11
11
|
Storey.create "schema_#{db}"
|
12
12
|
end
|
13
13
|
end
|
@@ -15,21 +15,21 @@ describe Storey, "rake tasks" do
|
|
15
15
|
describe "storey:migrate" do
|
16
16
|
before do
|
17
17
|
# We don't care how it's migrated
|
18
|
-
|
18
|
+
Storey::Migrator.migrate_all
|
19
19
|
end
|
20
20
|
|
21
21
|
it "should migrate all schemas including public" do
|
22
22
|
# +1 to take into account the public schema
|
23
|
-
|
23
|
+
Storey::Migrator.should_receive(:migrate).exactly(@number_of_schemas + 1).times
|
24
24
|
@rake["storey:migrate"].invoke
|
25
25
|
end
|
26
26
|
|
27
27
|
context 'when a version is given' do
|
28
|
-
it '
|
28
|
+
it 'migrates to the given version for each schema' do
|
29
29
|
ENV['VERSION'] = '3299329'
|
30
|
-
|
31
|
-
with(
|
32
|
-
|
30
|
+
expect(Storey::Migrator).to receive(:migrate_all).
|
31
|
+
with(version: "3299329").
|
32
|
+
once
|
33
33
|
@rake["storey:migrate"].invoke
|
34
34
|
end
|
35
35
|
end
|
@@ -57,7 +57,7 @@ describe Storey, "rake tasks" do
|
|
57
57
|
:up,
|
58
58
|
anything,
|
59
59
|
@migration_version_2.to_i
|
60
|
-
).exactly(@
|
60
|
+
).exactly(@number_of_schemas+1).times
|
61
61
|
|
62
62
|
@rake['storey:migrate:up'].invoke
|
63
63
|
end
|
@@ -86,7 +86,7 @@ describe Storey, "rake tasks" do
|
|
86
86
|
:down,
|
87
87
|
anything,
|
88
88
|
@migration_version_1
|
89
|
-
).exactly(@
|
89
|
+
).exactly(@number_of_schemas+1).times
|
90
90
|
|
91
91
|
@rake['storey:migrate:down'].invoke
|
92
92
|
end
|
@@ -94,12 +94,12 @@ describe Storey, "rake tasks" do
|
|
94
94
|
end
|
95
95
|
|
96
96
|
describe "storey:rollback" do
|
97
|
-
it "should rollback
|
97
|
+
it "should rollback schemas" do
|
98
98
|
Storey::Migrator.should_receive(:rollback_all).once
|
99
99
|
@rake['storey:rollback'].invoke
|
100
100
|
end
|
101
101
|
|
102
|
-
it "should rollback
|
102
|
+
it "should rollback schemas STEP amt" do
|
103
103
|
step = 2
|
104
104
|
Storey::Migrator.should_receive(:rollback_all).with(step).once
|
105
105
|
ENV['STEP'] = step.to_s
|
data/storey.gemspec
CHANGED
@@ -21,8 +21,8 @@ Gem::Specification.new do |s|
|
|
21
21
|
|
22
22
|
# specify any dependencies here; for example:
|
23
23
|
s.add_development_dependency "rspec-rails"
|
24
|
-
s.add_development_dependency "pg", "~> 0.12"
|
25
24
|
s.add_development_dependency "database_cleaner"
|
26
25
|
s.add_runtime_dependency 'easy_class_to_instance_method', '~> 0.0.2'
|
27
|
-
s.add_runtime_dependency "rails", ">=
|
26
|
+
s.add_runtime_dependency "rails", ">= 4.0.0"
|
27
|
+
s.add_runtime_dependency "pg"
|
28
28
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: storey
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ramon Tayag
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec-rails
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: pg
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0.12'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0.12'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: database_cleaner
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,14 +58,28 @@ dependencies:
|
|
72
58
|
requirements:
|
73
59
|
- - ">="
|
74
60
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
61
|
+
version: 4.0.0
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 4.0.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: pg
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: '0'
|
83
83
|
description: Storey aims to simplify the implementation of managing a multi-tenant
|
84
84
|
application.
|
85
85
|
email:
|
@@ -98,16 +98,20 @@ files:
|
|
98
98
|
- LICENSE.txt
|
99
99
|
- README.md
|
100
100
|
- Rakefile
|
101
|
-
-
|
102
|
-
- gemfiles/
|
103
|
-
- gemfiles/
|
104
|
-
- gemfiles/
|
101
|
+
- docker-compose.yml
|
102
|
+
- gemfiles/rails_5.0.gemfile
|
103
|
+
- gemfiles/rails_5.0.gemfile.lock
|
104
|
+
- gemfiles/rails_5.1.gemfile
|
105
|
+
- gemfiles/rails_5.1.gemfile.lock
|
106
|
+
- gemfiles/rails_5.2.gemfile
|
107
|
+
- gemfiles/rails_5.2.gemfile.lock
|
105
108
|
- lib/storey.rb
|
106
109
|
- lib/storey/builds_dump_command.rb
|
107
110
|
- lib/storey/builds_load_command.rb
|
108
111
|
- lib/storey/dumper.rb
|
109
112
|
- lib/storey/duplicator.rb
|
110
113
|
- lib/storey/exceptions.rb
|
114
|
+
- lib/storey/get_migration_versions.rb
|
111
115
|
- lib/storey/hstore.rb
|
112
116
|
- lib/storey/migrator.rb
|
113
117
|
- lib/storey/native_schema_matcher.rb
|
@@ -175,6 +179,7 @@ files:
|
|
175
179
|
- spec/storey/duplicate_spec.rb
|
176
180
|
- spec/storey/duplicator_spec.rb
|
177
181
|
- spec/storey/excluded_models_spec.rb
|
182
|
+
- spec/storey/get_migration_versions_spec.rb
|
178
183
|
- spec/storey/hstore_spec.rb
|
179
184
|
- spec/storey/native_schema_matcher_spec.rb
|
180
185
|
- spec/storey/persistent_schemas_spec.rb
|
@@ -212,7 +217,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
212
217
|
version: '0'
|
213
218
|
requirements: []
|
214
219
|
rubyforge_project: storey
|
215
|
-
rubygems_version: 2.
|
220
|
+
rubygems_version: 2.7.3
|
216
221
|
signing_key:
|
217
222
|
specification_version: 4
|
218
223
|
summary: Manage multiple PostgreSQL schemas in your multi-tenant app.
|
@@ -270,6 +275,7 @@ test_files:
|
|
270
275
|
- spec/storey/duplicate_spec.rb
|
271
276
|
- spec/storey/duplicator_spec.rb
|
272
277
|
- spec/storey/excluded_models_spec.rb
|
278
|
+
- spec/storey/get_migration_versions_spec.rb
|
273
279
|
- spec/storey/hstore_spec.rb
|
274
280
|
- spec/storey/native_schema_matcher_spec.rb
|
275
281
|
- spec/storey/persistent_schemas_spec.rb
|