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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- N2ZlOGNlOTIxZGRlNDliMzUwZTZiZDM0MjFmYmEyZTAxNDI5YjA2OQ==
4
+ YTA0OGQwMzIxNmJkZTM0OWY4YzExNGZlMDcxOTkxZGM0N2IxMDBjMA==
5
5
  data.tar.gz: !binary |-
6
- OWFjZTI3NWYwYTk4YzczYTQ5MmE0ZmMzYmE5NjA1YWJjNGQwZmEyZA==
6
+ OWQzZDdlZDE0ZjU5OGMyZDVjZWM1YjE4MDAxYmEyNzJkN2U3MjBhZg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- OGYxYmNmMTQ2ODc1MWQ4NDFkYjhiZmRkOGM4YTU4YWEzMGI1YjU2NmY5MTFj
10
- MGM1MzJmM2VmYThmMmEzYjQ3MjA4NWJjOTExZGMxNTlhMDc3ZWI0YzRlOWRm
11
- ZDM5MDBlOWE3NjJiYjNiOTIyMDRhZWU1OTAyOTRjMDViNWZkNDM=
9
+ OWI1MjdmNzQxNDQ5ZmViZDBkMzljYWMxYmFkMzcxOGUyY2YzNjkzMzY5NmE2
10
+ YjFiOTQzYmQzYTkyOTc1MDNhYzgwN2Q3Y2U5MTk3YTI4NzliZTlmZmQxM2Fi
11
+ YzAwNjZhOGE0MDliODgwMTllZmZhYTc2YTYwNjMxZDU2ODFmY2I=
12
12
  data.tar.gz: !binary |-
13
- ZWMyYmM3NGY3OWYyMThjOTE3OWZlZjA2ZGY5OWVlNGMxMjU5NzA1ZmMxZTJm
14
- MmJlYTViNTAwZWJlODdlNzE3YWUyZDIyZmJiZmM1MGFiOTk3ZDQ2YjI4Mzkx
15
- NGUwNmU4ZTE2NDExYjViNjUxYjc2YTZlOWZlMGFjNzBjOTI5OWE=
13
+ NWYxMWQ5ZTVmODRhZTJjZTM4YzA5YWFiZWEzYWJmZGY2Yzg1MWJlZTIwMmE3
14
+ ZDFiMzUyMzE1OTNhMWE4ZTFiZmM1MDRjZmY5YjM2MGQ0NDhlZDJlZjY2ZGI2
15
+ OThiYjY4YzVhYTc4Nzc5NjI1NTI2ZDRkNTg3NTVmZjMyZGJkMWE=
@@ -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.identifier unless table.kind_of?(Sequel::SQL::Identifier)
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
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module Tapsoob
3
- VERSION = "0.1.21".freeze
3
+ VERSION = "0.1.22".freeze
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tapsoob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.21
4
+ version: 0.1.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Félix Bellanger