storey 0.4.1 → 0.4.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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ae5569721f64878b097e1b98b07c035fb36a9d71
4
+ data.tar.gz: 4dca637ae254650c11a1140143b3242923eb015c
5
+ SHA512:
6
+ metadata.gz: e62da00edaffe209439f36791dca9709cd9442b3c44a4046071cb7331ed6d0cf2bd3d4cf859da83b6c367673141dd635f558f36eb47ad5f2edb1f8384015a613
7
+ data.tar.gz: 2e5ae11654ed101a414c955e00d71cfd3e79c3341509c6a9b1b17c536d79da84c4cdfcb5f494a1161b8bb20827eb31c659f53822296e00c5b94d60031d8c6d14
data/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ # v0.4.2
2
+
3
+ - `rake storey:migrate VERSION=xxxx` now works and uses the `VERSION` environment variable
4
+ - `reset_column_information` of all models to avoid strange PostgreSQL errors (see https://github.com/ramontayag/storey/issues/11)
5
+ - Add this CHANGELOG :)
@@ -36,7 +36,7 @@ module Storey
36
36
 
37
37
  def perform!
38
38
  dump_schema
39
- replace_occurances
39
+ replace_occurrences
40
40
  load_schema
41
41
  end
42
42
 
@@ -92,7 +92,7 @@ module Storey
92
92
  source_schema_migrations.each do |version|
93
93
  unless target_schema_migrations.include?(version)
94
94
  command = "INSERT INTO schema_migrations (version) VALUES ('#{version}');"
95
- ActiveRecord::Base.connection.execute command
95
+ ::ActiveRecord::Base.connection.execute command
96
96
  end
97
97
  end
98
98
  end
@@ -100,17 +100,17 @@ module Storey
100
100
 
101
101
  def source_schema_migrations
102
102
  ::Storey.switch(self.source_schema) do
103
- ActiveRecord::Migrator.get_all_versions
103
+ ::ActiveRecord::Migrator.get_all_versions
104
104
  end
105
105
  end
106
106
 
107
107
  def target_schema_migrations
108
108
  ::Storey.switch(self.target_schema) do
109
- ActiveRecord::Migrator.get_all_versions
109
+ ::ActiveRecord::Migrator.get_all_versions
110
110
  end
111
111
  end
112
112
 
113
- def replace_occurances
113
+ def replace_occurrences
114
114
  File.open(self.source_file, 'r') do |file|
115
115
  file.each_line do |line|
116
116
  new_line = line.gsub(/#{self.source_schema}/, self.target_schema)
data/lib/storey/hstore.rb CHANGED
@@ -8,8 +8,8 @@ module Storey
8
8
  def install
9
9
  ensure_hstore_is_persistent
10
10
  Storey.create 'hstore', force: true
11
- ActiveRecord::Base.connection.execute "CREATE EXTENSION IF NOT EXISTS hstore SCHEMA #{suffixify('hstore')}"
12
- rescue ActiveRecord::StatementInvalid => e
11
+ ::ActiveRecord::Base.connection.execute "CREATE EXTENSION IF NOT EXISTS hstore SCHEMA #{suffixify('hstore')}"
12
+ rescue ::ActiveRecord::StatementInvalid => e
13
13
  if e.message =~ /could not open extension control file/
14
14
  fail StoreyError, "Oops! Looks like the Hstore extension is not installed. Please install it for your OS first."
15
15
  end
@@ -3,25 +3,28 @@ module Storey
3
3
 
4
4
  extend self
5
5
 
6
- def migrate_all
7
- self.migrate 'public'
6
+ def migrate_all(options={})
7
+ options[:version] = options[:version].to_i if options[:version]
8
+ self.migrate 'public', options
8
9
  Dumper.dump
9
10
  Storey.schemas(public: false).each do |schema|
10
- self.migrate schema
11
+ self.migrate schema, options
11
12
  end
12
13
  end
13
14
 
14
- def migrate(schema)
15
+ def migrate(schema, options={})
15
16
  Storey.switch schema do
16
- ActiveRecord::Migrator.migrate ActiveRecord::Migrator.migrations_path
17
+ puts "= Migrating #{schema}"
18
+ ::ActiveRecord::Migrator.migrate(::ActiveRecord::Migrator.migrations_path,
19
+ options[:version])
17
20
  end
18
21
  end
19
22
 
20
23
  def run(direction, schema, version)
21
24
  Storey.switch schema do
22
- ActiveRecord::Migrator.run(
25
+ ::ActiveRecord::Migrator.run(
23
26
  direction,
24
- ActiveRecord::Migrator.migrations_path,
27
+ ::ActiveRecord::Migrator.migrations_path,
25
28
  version
26
29
  )
27
30
  end
@@ -37,8 +40,8 @@ module Storey
37
40
  def rollback(schema, step=1)
38
41
  Storey.switch schema do
39
42
  puts "= Rolling back `#{schema}` #{step} steps"
40
- ActiveRecord::Migrator.rollback(
41
- ActiveRecord::Migrator.migrations_path,
43
+ ::ActiveRecord::Migrator.rollback(
44
+ ::ActiveRecord::Migrator.migrations_path,
42
45
  step
43
46
  )
44
47
  end
@@ -0,0 +1,21 @@
1
+ module Storey
2
+ class ResetsColumnInfo
3
+
4
+ easy_class_to_instance
5
+
6
+ def execute
7
+ descendants.each do |descendant|
8
+ descendant.reset_column_information
9
+ end
10
+ end
11
+
12
+ private
13
+
14
+ def descendants
15
+ @descendants ||= ObjectSpace.each_object(Class).select do |klass|
16
+ klass < ActiveRecord::Base
17
+ end
18
+ end
19
+
20
+ end
21
+ end
@@ -1,7 +1,7 @@
1
1
  require 'active_record/schema_dumper'
2
2
 
3
3
  module Storey
4
- class RubyDumper
4
+ class RubyDumper
5
5
 
6
6
  def self.dump(*args)
7
7
  self.new(*args).dump
@@ -14,8 +14,8 @@ module Storey
14
14
 
15
15
  def dump
16
16
  File.open(@file, "w:utf-8") do |file|
17
- ActiveRecord::Base.establish_connection(Rails.env)
18
- ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
17
+ ::ActiveRecord::Base.establish_connection(Rails.env)
18
+ ::ActiveRecord::SchemaDumper.dump(::ActiveRecord::Base.connection, file)
19
19
  end
20
20
  end
21
21
 
@@ -1,5 +1,5 @@
1
1
  module Storey
2
- class SqlDumper
2
+ class SqlDumper
3
3
 
4
4
  def self.dump(*args)
5
5
  self.new(*args).dump
@@ -10,7 +10,7 @@ module Storey
10
10
  end
11
11
 
12
12
  def dump
13
- abcs = ActiveRecord::Base.configurations
13
+ abcs = ::ActiveRecord::Base.configurations
14
14
  set_psql_env(abcs[Rails.env])
15
15
  search_path = abcs[Rails.env]['schema_search_path']
16
16
  unless search_path.blank?
@@ -18,7 +18,7 @@ module Storey
18
18
  end
19
19
  `pg_dump -i -s -x -O -f #{Shellwords.escape(@file)} #{search_path} #{Shellwords.escape(abcs[Rails.env]['database'])}`
20
20
  raise 'Error dumping database' if $?.exitstatus == 1
21
- File.open(@file, "a") { |f| f << "SET search_path TO #{ActiveRecord::Base.connection.schema_search_path};\n\n" }
21
+ File.open(@file, "a") { |f| f << "SET search_path TO #{::ActiveRecord::Base.connection.schema_search_path};\n\n" }
22
22
  end
23
23
 
24
24
  end
@@ -1,3 +1,3 @@
1
1
  module Storey
2
- VERSION = "0.4.1"
2
+ VERSION = "0.4.2"
3
3
  end
data/lib/storey.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "storey/version"
2
2
  require "rails/all"
3
3
  require "active_support/core_ext/module" # so we can use mattr_accessor
4
+ require 'easy_class_to_instance_method'
4
5
  require 'storey/railtie' if defined?(Rails)
5
6
  require 'storey/exceptions'
6
7
  require 'storey/migrator'
@@ -12,6 +13,7 @@ require 'storey/sql_dumper'
12
13
  require 'storey/native_schema_matcher'
13
14
  require 'storey/suffixifier'
14
15
  require 'storey/unsuffixifier'
16
+ require 'storey/resets_column_info'
15
17
 
16
18
  module Storey
17
19
  RESERVED_SCHEMAS = %w(hstore)
@@ -48,7 +50,7 @@ module Storey
48
50
  def schema(options={})
49
51
  options[:suffix] ||= false
50
52
 
51
- name = ActiveRecord::Base.connection.schema_search_path
53
+ name = ::ActiveRecord::Base.connection.schema_search_path
52
54
 
53
55
  if options[:suffix]
54
56
  name
@@ -116,7 +118,7 @@ module Storey
116
118
  sql << " AND nspname != 'information_schema'"
117
119
  sql << " AND nspname != 'public'" unless options[:public]
118
120
 
119
- names = ActiveRecord::Base.connection.query(sql).flatten
121
+ names = ::ActiveRecord::Base.connection.query(sql).flatten
120
122
 
121
123
  if options[:suffix]
122
124
  names
@@ -128,8 +130,8 @@ module Storey
128
130
  def drop(name)
129
131
  name = suffixify name
130
132
  command = "DROP SCHEMA #{name} CASCADE"
131
- ActiveRecord::Base.connection.execute(command)
132
- rescue ActiveRecord::StatementInvalid => e
133
+ ::ActiveRecord::Base.connection.execute(command)
134
+ rescue ::ActiveRecord::StatementInvalid => e
133
135
  raise(Storey::SchemaNotFound,
134
136
  %{The schema "#{name}" cannot be found. Error: #{e}})
135
137
  end
@@ -149,9 +151,9 @@ module Storey
149
151
  fail(Storey::SchemaNotFound, %{The schema "#{path}" cannot be found.})
150
152
  end
151
153
 
152
- ActiveRecord::Base.connection.schema_search_path = path
154
+ ::ActiveRecord::Base.connection.schema_search_path = path
153
155
  end
154
- rescue ActiveRecord::StatementInvalid => e
156
+ rescue ::ActiveRecord::StatementInvalid => e
155
157
  if e.to_s =~ /relation ".*" does not exist at character \d+/
156
158
  warn "See https://github.com/ramontayag/storey/issues/11"
157
159
  raise e
@@ -209,12 +211,12 @@ module Storey
209
211
  protected
210
212
 
211
213
  def schema_migrations
212
- ActiveRecord::Migrator.get_all_versions
214
+ ::ActiveRecord::Migrator.get_all_versions
213
215
  end
214
216
 
215
217
  def reset
216
218
  path = self.schema_search_path_for(self.default_search_path)
217
- ActiveRecord::Base.connection.schema_search_path = path
219
+ ::ActiveRecord::Base.connection.schema_search_path = path
218
220
  end
219
221
 
220
222
  def process_excluded_models
@@ -240,4 +242,10 @@ module Storey
240
242
  Unsuffixifier.unsuffixify schema_name
241
243
  end
242
244
 
245
+ def reset_column_information
246
+ ::ActiveRecord::Base.descendants.each do |descendant|
247
+ descendant.reset_column_information
248
+ end
249
+ end
250
+
243
251
  end
@@ -9,7 +9,9 @@ namespace :storey do
9
9
 
10
10
  desc "Migrate all schemas including public"
11
11
  task migrate: :environment do
12
- Storey::Migrator.migrate_all
12
+ options = {}
13
+ options[:version] = ENV['VERSION']
14
+ Storey::Migrator.migrate_all options
13
15
  end
14
16
 
15
17
  desc "Rolls the schema back to the previous version (specify steps w/ STEP=n) across all schemas."
@@ -0,0 +1,2 @@
1
+ dummy_migrations_path = File.join(File.dirname(__FILE__), '..', '..', 'db', 'migrate')
2
+ ActiveRecord::Migrator.migrations_path = dummy_migrations_path
@@ -2,18 +2,24 @@ require 'spec_helper'
2
2
 
3
3
  describe Storey::Migrator do
4
4
  before do
5
- @original_schema = ActiveRecord::Base.connection.schema_search_path
5
+ @original_schema = ::ActiveRecord::Base.connection.schema_search_path
6
6
  @schema_1 = "first_schema"
7
7
  Storey.create @schema_1
8
8
  end
9
9
 
10
10
  describe '.migrate_all' do
11
11
  it 'should migrate the default search path first, then all available schemas' do
12
- described_class.should_receive(:migrate).with('public').ordered
13
- described_class.should_receive(:migrate).with(@schema_1).ordered
12
+ described_class.should_receive(:migrate).with('public', {}).ordered
13
+ described_class.should_receive(:migrate).with(@schema_1, {}).ordered
14
14
  described_class.migrate_all
15
15
  end
16
16
 
17
+ it 'should convert the version given to an integer' do
18
+ described_class.should_receive(:migrate).with('public', {version: 292})
19
+ described_class.should_receive(:migrate).with(@schema_1, {version: 292})
20
+ described_class.migrate_all version: '292'
21
+ end
22
+
17
23
  it 'should dump the database' do
18
24
  Storey::Dumper.should_receive(:dump)
19
25
  described_class.migrate_all
@@ -23,8 +29,10 @@ describe Storey::Migrator do
23
29
  describe '.migrate' do
24
30
  context 'given a schema' do
25
31
  it 'should connect to new db, then reset when done' do
26
- ActiveRecord::Base.connection.should_receive(:schema_search_path=).with(@schema_1).once
27
- ActiveRecord::Base.connection.should_receive(:schema_search_path=).with(@original_schema).once
32
+ ::ActiveRecord::Base.connection.should_receive(:schema_search_path=).
33
+ with(@schema_1).once
34
+ ::ActiveRecord::Base.connection.should_receive(:schema_search_path=).
35
+ with(@original_schema).once
28
36
  Storey::Migrator.migrate(@schema_1)
29
37
  end
30
38
 
@@ -43,26 +51,32 @@ describe Storey::Migrator do
43
51
 
44
52
  context "up" do
45
53
  it "should connect to new db, then reset when done" do
46
- ActiveRecord::Base.connection.should_receive(:schema_search_path=).with(@schema_1).once
47
- ActiveRecord::Base.connection.should_receive(:schema_search_path=).with(@original_schema).once
54
+ ::ActiveRecord::Base.connection.should_receive(:schema_search_path=).
55
+ with(@schema_1).once
56
+ ::ActiveRecord::Base.connection.should_receive(:schema_search_path=).
57
+ with(@original_schema).once
48
58
  Storey::Migrator.run(:up, @schema_1, @migration_version_2)
49
59
  end
50
60
 
51
61
  it "should migrate to a version" do
52
- ActiveRecord::Migrator.should_receive(:run).with(:up, anything, @migration_version_1)
62
+ ActiveRecord::Migrator.should_receive(:run).
63
+ with(:up, anything, @migration_version_1)
53
64
  Storey::Migrator.run(:up, @schema_1, @migration_version_1)
54
65
  end
55
66
  end
56
67
 
57
68
  describe "down" do
58
69
  it "should connect to new db, then reset when done" do
59
- ActiveRecord::Base.connection.should_receive(:schema_search_path=).with(@schema_1).once
60
- ActiveRecord::Base.connection.should_receive(:schema_search_path=).with(@original_schema).once
70
+ ::ActiveRecord::Base.connection.should_receive(:schema_search_path=).
71
+ with(@schema_1).once
72
+ ::ActiveRecord::Base.connection.should_receive(:schema_search_path=).
73
+ with(@original_schema).once
61
74
  Storey::Migrator.run(:down, @schema_1, @migration_version_2)
62
75
  end
63
76
 
64
77
  it "should migrate to a version" do
65
- ActiveRecord::Migrator.should_receive(:run).with(:down, anything, @migration_version_1)
78
+ ActiveRecord::Migrator.should_receive(:run).
79
+ with(:down, anything, @migration_version_1)
66
80
  Storey::Migrator.run(:down, @schema_1, @migration_version_1)
67
81
  end
68
82
  end
data/spec/spec_helper.rb CHANGED
@@ -12,23 +12,21 @@ require 'rake'
12
12
  require 'pry'
13
13
 
14
14
  RSpec.configure do |config|
15
- config.before(:suite) do
15
+ config.order = 'random'
16
+
17
+ config.before(:each) do
18
+ # We don't want configuration to leak into other tests
16
19
  Storey.reload_config!
17
20
 
18
21
  # Clean the public schema
19
22
  Storey.switch do
20
- tables = ActiveRecord::Base.connection.tables
23
+ tables = ::ActiveRecord::Base.connection.tables
21
24
  # Don't invoke DatabaseCleaner if there are no tables,
22
25
  # since that library chokes and tries to drop tables without names
23
26
  if tables.size != 1 || tables[0] != 'schema_migrations'
24
27
  DatabaseCleaner.clean_with :truncation
25
28
  end
26
29
  end
27
- end
28
-
29
- config.before(:each) do
30
- # We don't want configuration to leak into other tests
31
- Storey.reload_config!
32
30
 
33
31
  # Always switch back to the default search path
34
32
  # Some tests that didn't switch back broke the following tests
@@ -45,16 +43,9 @@ RSpec.configure do |config|
45
43
  Rake.application = @rake
46
44
  Dummy::Application.load_tasks
47
45
 
48
- # It seems when instantiating our own rake object, misc.rake
49
- # isn't loaded. We get the following error if we don't load misc.rake:
50
- # RuntimeError: Don't know how to build task 'rails_env'
51
- load "rails/tasks/misc.rake"
52
-
53
- # we don't want any test that has set this to keep it hanging around
54
- # screwing with our migration
55
46
  ENV['STEP'] = ENV['VERSION'] = nil
56
47
  Rails.application.config.active_record.schema_format = :ruby
57
- @rake["db:migrate"].invoke
48
+ Storey::Migrator.migrate_all
58
49
  end
59
50
  end
60
51
 
@@ -2,16 +2,16 @@ require 'spec_helper'
2
2
 
3
3
  describe Storey, "#create" do
4
4
  it "should load the database structure into the new schema" do
5
- public_tables = Storey.switch { ActiveRecord::Base.connection.tables }.sort
5
+ public_tables = Storey.switch { ::ActiveRecord::Base.connection.tables }.sort
6
6
  Storey.create "foobar" do
7
- foobar_tables = ActiveRecord::Base.connection.tables.sort
7
+ foobar_tables = ::ActiveRecord::Base.connection.tables.sort
8
8
  foobar_tables.should == public_tables
9
9
  end
10
10
  end
11
11
 
12
12
  context 'when in a database transaction and loading the database structure' do
13
13
  it 'should not blow up and continue to create the schema' do
14
- ActiveRecord::Base.transaction do
14
+ ::ActiveRecord::Base.transaction do
15
15
  Storey.create 'foobar'
16
16
  end
17
17
  Storey.schemas.should include('foobar')
@@ -29,7 +29,7 @@ describe Storey, "#create" do
29
29
  context "when load_database_schema: false" do
30
30
  it "should not load the structure" do
31
31
  Storey.create "foobar", load_database_structure: false do
32
- tables = ActiveRecord::Base.connection.tables
32
+ tables = ::ActiveRecord::Base.connection.tables
33
33
  tables.should_not include('companies')
34
34
  tables.should_not include('posts')
35
35
  end
@@ -23,9 +23,9 @@ describe Storey, "#duplicate!" do
23
23
 
24
24
  it "should create a schema with the same data under a new name" do
25
25
  Storey.duplicate! 'ricky', 'bobby'
26
- Storey.schemas.should include('bobby')
26
+ expect(Storey.schemas).to include('bobby')
27
27
  Storey.switch 'bobby' do
28
- Post.count.should == 1
28
+ expect(Post.count).to eq(1)
29
29
  Post.find_by_name("Hi").should_not be_nil
30
30
  end
31
31
  end
@@ -36,9 +36,9 @@ describe Storey, "#duplicate!" do
36
36
  end
37
37
 
38
38
  it 'should create a duplicate schema but copy the structure only' do
39
- Storey.schemas.should include('bobby')
39
+ expect(Storey.schemas).to include('bobby')
40
40
  Storey.switch 'bobby' do
41
- Post.count.should == 0
41
+ expect(Post.count).to eq(0)
42
42
  end
43
43
  end
44
44
 
@@ -5,7 +5,7 @@ describe Storey::Hstore do
5
5
  it 'should install the extension into the hstore schema' do
6
6
  Storey.persistent_schemas = %w(hstore)
7
7
  described_class.install
8
- expect { ActiveRecord::Base.connection.execute "DROP EXTENSION hstore" }.
8
+ expect { ::ActiveRecord::Base.connection.execute "DROP EXTENSION hstore" }.
9
9
  to_not raise_error(ActiveRecord::StatementInvalid)
10
10
  end
11
11
 
@@ -23,6 +23,16 @@ describe Storey, "rake tasks" do
23
23
  ActiveRecord::Migrator.should_receive(:migrate).exactly(@number_of_dbs + 1).times
24
24
  @rake["storey:migrate"].invoke
25
25
  end
26
+
27
+ context 'when a version is given' do
28
+ it 'should migrate to the given version' do
29
+ ENV['VERSION'] = '3299329'
30
+ ActiveRecord::Migrator.should_receive(:migrate).
31
+ with(ActiveRecord::Migrator.migrations_path, 3299329).
32
+ exactly(@number_of_dbs + 1).times
33
+ @rake["storey:migrate"].invoke
34
+ end
35
+ end
26
36
  end
27
37
 
28
38
  describe "storey:migrate:up" do
data/storey.gemspec CHANGED
@@ -23,5 +23,6 @@ Gem::Specification.new do |s|
23
23
  s.add_development_dependency "pg", "~> 0.12.2"
24
24
  s.add_development_dependency "database_cleaner"
25
25
  s.add_development_dependency "pry"
26
+ s.add_runtime_dependency 'easy_class_to_instance_method', '~> 0.0.1'
26
27
  s.add_runtime_dependency "rails", "~> 3.2.2"
27
28
  end
metadata CHANGED
@@ -1,36 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: storey
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
5
- prerelease:
4
+ version: 0.4.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Ramon Tayag
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-03-16 00:00:00.000000000 Z
11
+ date: 2013-06-12 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rspec-rails
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: pg
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,39 +41,48 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: database_cleaner
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: pry
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: easy_class_to_instance_method
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 0.0.1
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 0.0.1
78
83
  - !ruby/object:Gem::Dependency
79
84
  name: rails
80
85
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
86
  requirements:
83
87
  - - ~>
84
88
  - !ruby/object:Gem::Version
@@ -86,7 +90,6 @@ dependencies:
86
90
  type: :runtime
87
91
  prerelease: false
88
92
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
93
  requirements:
91
94
  - - ~>
92
95
  - !ruby/object:Gem::Version
@@ -101,6 +104,7 @@ extra_rdoc_files: []
101
104
  files:
102
105
  - .gitignore
103
106
  - .rspec
107
+ - CHANGELOG.md
104
108
  - Gemfile
105
109
  - README.md
106
110
  - Rakefile
@@ -112,6 +116,7 @@ files:
112
116
  - lib/storey/migrator.rb
113
117
  - lib/storey/native_schema_matcher.rb
114
118
  - lib/storey/railtie.rb
119
+ - lib/storey/resets_column_info.rb
115
120
  - lib/storey/ruby_dumper.rb
116
121
  - lib/storey/sql_dumper.rb
117
122
  - lib/storey/suffixifier.rb
@@ -141,6 +146,7 @@ files:
141
146
  - spec/dummy/config/environments/test.rb
142
147
  - spec/dummy/config/initializers/backtrace_silencers.rb
143
148
  - spec/dummy/config/initializers/inflections.rb
149
+ - spec/dummy/config/initializers/migrations_path.rb
144
150
  - spec/dummy/config/initializers/mime_types.rb
145
151
  - spec/dummy/config/initializers/secret_token.rb
146
152
  - spec/dummy/config/initializers/session_store.rb
@@ -187,32 +193,91 @@ files:
187
193
  - storey.gemspec
188
194
  homepage: https://github.com/ramontayag/storey
189
195
  licenses: []
196
+ metadata: {}
190
197
  post_install_message:
191
198
  rdoc_options: []
192
199
  require_paths:
193
200
  - lib
194
201
  required_ruby_version: !ruby/object:Gem::Requirement
195
- none: false
196
202
  requirements:
197
- - - ! '>='
203
+ - - '>='
198
204
  - !ruby/object:Gem::Version
199
205
  version: '0'
200
- segments:
201
- - 0
202
- hash: 1554154607789373813
203
206
  required_rubygems_version: !ruby/object:Gem::Requirement
204
- none: false
205
207
  requirements:
206
- - - ! '>='
208
+ - - '>='
207
209
  - !ruby/object:Gem::Version
208
210
  version: '0'
209
- segments:
210
- - 0
211
- hash: 1554154607789373813
212
211
  requirements: []
213
212
  rubyforge_project: storey
214
- rubygems_version: 1.8.24
213
+ rubygems_version: 2.0.3
215
214
  signing_key:
216
- specification_version: 3
215
+ specification_version: 4
217
216
  summary: Manage multiple PostgreSQL schemas in your multi-tenant app.
218
- test_files: []
217
+ test_files:
218
+ - spec/config/database.yml.sample
219
+ - spec/dummy/Rakefile
220
+ - spec/dummy/app/assets/javascripts/application.js
221
+ - spec/dummy/app/assets/stylesheets/application.css
222
+ - spec/dummy/app/controllers/application_controller.rb
223
+ - spec/dummy/app/helpers/application_helper.rb
224
+ - spec/dummy/app/mailers/.gitkeep
225
+ - spec/dummy/app/models/.gitkeep
226
+ - spec/dummy/app/models/company.rb
227
+ - spec/dummy/app/models/fake.rb
228
+ - spec/dummy/app/models/post.rb
229
+ - spec/dummy/app/views/layouts/application.html.erb
230
+ - spec/dummy/config.ru
231
+ - spec/dummy/config/application.rb
232
+ - spec/dummy/config/boot.rb
233
+ - spec/dummy/config/database.yml.sample
234
+ - spec/dummy/config/environment.rb
235
+ - spec/dummy/config/environments/development.rb
236
+ - spec/dummy/config/environments/production.rb
237
+ - spec/dummy/config/environments/test.rb
238
+ - spec/dummy/config/initializers/backtrace_silencers.rb
239
+ - spec/dummy/config/initializers/inflections.rb
240
+ - spec/dummy/config/initializers/migrations_path.rb
241
+ - spec/dummy/config/initializers/mime_types.rb
242
+ - spec/dummy/config/initializers/secret_token.rb
243
+ - spec/dummy/config/initializers/session_store.rb
244
+ - spec/dummy/config/initializers/wrap_parameters.rb
245
+ - spec/dummy/config/locales/en.yml
246
+ - spec/dummy/config/routes.rb
247
+ - spec/dummy/db/migrate/20120115060713_create_companies.rb
248
+ - spec/dummy/db/migrate/20120115060728_create_posts.rb
249
+ - spec/dummy/db/schema.rb
250
+ - spec/dummy/lib/assets/.gitkeep
251
+ - spec/dummy/log/.gitkeep
252
+ - spec/dummy/public/404.html
253
+ - spec/dummy/public/422.html
254
+ - spec/dummy/public/500.html
255
+ - spec/dummy/public/favicon.ico
256
+ - spec/dummy/script/rails
257
+ - spec/fixtures/.gitkeep
258
+ - spec/migrator_spec.rb
259
+ - spec/spec_helper.rb
260
+ - spec/storey/command_line_switches_spec.rb
261
+ - spec/storey/configuration_spec.rb
262
+ - spec/storey/create_plain_schema_spec.rb
263
+ - spec/storey/create_spec.rb
264
+ - spec/storey/default_schema.rb
265
+ - spec/storey/default_search_path_spec.rb
266
+ - spec/storey/drop_spec.rb
267
+ - spec/storey/dumper_spec.rb
268
+ - spec/storey/duplicate_spec.rb
269
+ - spec/storey/duplicator_spec.rb
270
+ - spec/storey/excluded_models_spec.rb
271
+ - spec/storey/hstore_spec.rb
272
+ - spec/storey/native_schema_matcher_spec.rb
273
+ - spec/storey/persistent_schemas_spec.rb
274
+ - spec/storey/ruby_dumper_spec.rb
275
+ - spec/storey/schema_exists_spec.rb
276
+ - spec/storey/schema_search_path_for_spec.rb
277
+ - spec/storey/schema_spec.rb
278
+ - spec/storey/schemas_spec.rb
279
+ - spec/storey/sql_dumper_spec.rb
280
+ - spec/storey/suffixifier_spec.rb
281
+ - spec/storey/switch_spec.rb
282
+ - spec/storey/unsuffixifier_spec.rb
283
+ - spec/tasks/storey_rake_spec.rb