active_record_schema 0.2.4 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.5
|
@@ -7,6 +7,10 @@ module ActiveRecordSchema
|
|
7
7
|
self.respond_to?(diff_method) ? self.send(diff_method) : []
|
8
8
|
end
|
9
9
|
|
10
|
+
def table_exists?
|
11
|
+
_table_exists?
|
12
|
+
end
|
13
|
+
|
10
14
|
def _diff_fields_add
|
11
15
|
model.schema.fields.values.delete_if {|field| _column_names.include?(field.name.to_s) }
|
12
16
|
end
|
@@ -29,16 +33,20 @@ module ActiveRecordSchema
|
|
29
33
|
end
|
30
34
|
|
31
35
|
def _column_names
|
32
|
-
_connection.columns(_table).map(&:name)
|
36
|
+
_table_exists? ? _connection.columns(_table).map(&:name) : []
|
33
37
|
end
|
34
38
|
|
35
39
|
def _index_names
|
36
|
-
_connection.indexes(_table).map(&:name)
|
40
|
+
_table_exists? ? _connection.indexes(_table).map(&:name) : []
|
37
41
|
end
|
38
42
|
|
39
43
|
def _table_names
|
40
44
|
_connection.tables
|
41
45
|
end
|
46
|
+
|
47
|
+
def _table_exists?
|
48
|
+
_connection.table_exists?(_table)
|
49
|
+
end
|
42
50
|
|
43
51
|
end
|
44
52
|
end
|
@@ -1,5 +1,9 @@
|
|
1
1
|
class <%= migration_class_name %> < ActiveRecord::Migration
|
2
2
|
def change
|
3
|
+
<%- if !model.schema.table_exists? -%>
|
4
|
+
create_table :<%= model.table_name %>
|
5
|
+
|
6
|
+
<%- end -%>
|
3
7
|
<%- model.schema.diff(:fields, :add).each do |field| -%>
|
4
8
|
add_column :<%= model.table_name %>, <%= field.name.inspect %>, <%= field.type.inspect %><%= ", #{field.options.inspect}" if !field.options.blank? %>
|
5
9
|
<%- end -%>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_record_schema
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -89,7 +89,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
89
89
|
version: '0'
|
90
90
|
segments:
|
91
91
|
- 0
|
92
|
-
hash:
|
92
|
+
hash: -3601192281659392675
|
93
93
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|