sequel_rails3 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -43,13 +43,34 @@ module SequelRails3
43
43
  def self.schema(action)
44
44
  case action
45
45
  when :dump
46
- File.open(File.join(Rails.root, 'db', 'schema.rb'), "w") do |f|
46
+ File.open(schema_file, "w") do |f|
47
47
  f.write("# Database schema version: #{migrator.current}\n")
48
48
  f.write(db.dump_schema_migration)
49
49
  end
50
+ when :up
51
+ migration, version = read_schema
52
+ eval(migration).apply(db, :up)
53
+ db[:schema_info].insert(:version => version)
54
+ when :down
55
+ migration, version = read_schema
56
+ db_version = db[:schema_info].select(:version).first.try(:[], :version)
57
+ raise RuntimeError, "schema version in schema file (#{version}) differs from version in database (#{db_version})" unless version == db_version
58
+ eval(migration).apply(db, :down)
50
59
  else
51
- eval(File.read(File.join(Rails.root, 'db', 'schema.rb'))).apply(db, action)
60
+ raise ArgumentError, "invalid schema action '#{action}'"
52
61
  end
53
62
  end
63
+
64
+ def self.schema_file
65
+ File.join(Rails.root, 'db', 'schema.rb')
66
+ end
67
+
68
+ def self.read_schema
69
+ data = File.read(schema_file)
70
+ version = data.match(/# Database schema version: (\d+)\n/)[1]
71
+ raise RuntimeError, "unable to determine schema version from schema file" unless version
72
+ [data, version.to_i]
73
+ end
54
74
  end
55
75
  end
76
+
@@ -1,3 +1,3 @@
1
1
  module SequelRails3
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel_rails3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-08-10 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &11670080 !ruby/object:Gem::Requirement
16
+ requirement: &17134900 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *11670080
24
+ version_requirements: *17134900
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: sequel
27
- requirement: &11666320 !ruby/object:Gem::Requirement
27
+ requirement: &17131580 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '3.0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *11666320
35
+ version_requirements: *17131580
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &11665200 !ruby/object:Gem::Requirement
38
+ requirement: &17129540 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '2.5'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *11665200
46
+ version_requirements: *17129540
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec-rails
49
- requirement: &11664120 !ruby/object:Gem::Requirement
49
+ requirement: &17126760 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '2.5'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *11664120
57
+ version_requirements: *17126760
58
58
  description: This gem allows you to easily use sequel instead of activerecord with
59
59
  rails 3.x.x
60
60
  email: