tapsoob 0.1.21 → 0.1.22
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 +8 -8
- data/lib/tapsoob/schema.rb +8 -0
- data/lib/tapsoob/utils.rb +1 -1
- data/lib/tapsoob/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YTA0OGQwMzIxNmJkZTM0OWY4YzExNGZlMDcxOTkxZGM0N2IxMDBjMA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
OWQzZDdlZDE0ZjU5OGMyZDVjZWM1YjE4MDAxYmEyNzJkN2U3MjBhZg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OWI1MjdmNzQxNDQ5ZmViZDBkMzljYWMxYmFkMzcxOGUyY2YzNjkzMzY5NmE2
|
10
|
+
YjFiOTQzYmQzYTkyOTc1MDNhYzgwN2Q3Y2U5MTk3YTI4NzliZTlmZmQxM2Fi
|
11
|
+
YzAwNjZhOGE0MDliODgwMTllZmZhYTc2YTYwNjMxZDU2ODFmY2I=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NWYxMWQ5ZTVmODRhZTJjZTM4YzA5YWFiZWEzYWJmZGY2Yzg1MWJlZTIwMmE3
|
14
|
+
ZDFiMzUyMzE1OTNhMWE4ZTFiZmM1MDRjZmY5YjM2MGQ0NDhlZDJlZjY2ZGI2
|
15
|
+
OThiYjY4YzVhYTc4Nzc5NjI1NTI2ZDRkNTg3NTVmZjMyZGJkMWE=
|
data/lib/tapsoob/schema.rb
CHANGED
@@ -10,12 +10,14 @@ module Tapsoob
|
|
10
10
|
|
11
11
|
def dump(database_url)
|
12
12
|
db = Sequel.connect(database_url)
|
13
|
+
[:schema_dumper, :migration].each { |ext| db.extension ext }
|
13
14
|
db.dump_schema_migration(:indexes => false)
|
14
15
|
end
|
15
16
|
|
16
17
|
def dump_table(database_url, table)
|
17
18
|
table = table.to_sym
|
18
19
|
Sequel.connect(database_url) do |db|
|
20
|
+
[:schema_dumper, :migration].each { |ext| db.extension ext }
|
19
21
|
<<END_MIG
|
20
22
|
Class.new(Sequel::Migration) do
|
21
23
|
def up
|
@@ -32,12 +34,15 @@ END_MIG
|
|
32
34
|
|
33
35
|
def indexes(database_url)
|
34
36
|
db = Sequel.connect(database_url)
|
37
|
+
[:schema_dumper, :migration].each { |ext| db.extension ext }
|
35
38
|
db.dump_indexes_migration
|
36
39
|
end
|
37
40
|
|
38
41
|
def indexes_individual(database_url)
|
39
42
|
idxs = {}
|
40
43
|
Sequel.connect(database_url) do |db|
|
44
|
+
[:schema_dumper, :migration].each { |ext| db.extension ext }
|
45
|
+
|
41
46
|
tables = db.tables
|
42
47
|
tables.each do |table|
|
43
48
|
idxs[table] = db.send(:dump_table_indexes, table, :add_index, {}).split("\n")
|
@@ -60,6 +65,7 @@ END_MIG
|
|
60
65
|
|
61
66
|
def load(database_url, schema)
|
62
67
|
Sequel.connect(database_url) do |db|
|
68
|
+
[:schema_dumper, :migration].each { |ext| db.extension ext }
|
63
69
|
klass = eval(schema)
|
64
70
|
klass.apply(db, :down)
|
65
71
|
klass.apply(db, :up)
|
@@ -68,12 +74,14 @@ END_MIG
|
|
68
74
|
|
69
75
|
def load_indexes(database_url, indexes)
|
70
76
|
Sequel.connect(database_url) do |db|
|
77
|
+
[:schema_dumper, :migration].each { |ext| db.extension ext }
|
71
78
|
eval(indexes).apply(db, :up)
|
72
79
|
end
|
73
80
|
end
|
74
81
|
|
75
82
|
def reset_db_sequences(database_url)
|
76
83
|
db = Sequel.connect(database_url)
|
84
|
+
[:schema_dumper, :migration].each { |ext| db.extension ext }
|
77
85
|
return unless db.respond_to?(:reset_primary_key_sequence)
|
78
86
|
db.tables.each do |table|
|
79
87
|
db.reset_primary_key_sequence(table)
|
data/lib/tapsoob/utils.rb
CHANGED
@@ -168,7 +168,7 @@ Data : #{data}
|
|
168
168
|
end
|
169
169
|
|
170
170
|
def single_integer_primary_key(db, table)
|
171
|
-
table = table.to_sym
|
171
|
+
table = table.to_sym unless table.kind_of?(Sequel::SQL::Identifier)
|
172
172
|
keys = db.schema(table).select { |c| c[1][:primary_key] and c[1][:type] == :integer }
|
173
173
|
not keys.nil? and keys.size == 1
|
174
174
|
end
|
data/lib/tapsoob/version.rb
CHANGED