tapsoob 0.3.11 → 0.3.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/tapsoob/schema.rb +10 -3
- data/lib/tapsoob/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 77d16cf540caabecef084c15b801dcbc5de0d87d19302c5a65ac15aeb27330f5
|
4
|
+
data.tar.gz: e68389beb30001d708c0014fc1092a7a528d451864ceacf41327a66fabf966dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc1f4d2ca7ebdff5c42cacfa2805eeb9f9015d44fb451d9de06eedeb1ac363681a682723c3eb46efb47fe6aa2066e6f5083d6a4ab940be3223d636aa0b0ce7b6
|
7
|
+
data.tar.gz: 57adb8e5cf0d06afc7382ecc0aafa0dc7cc7266bd5cee4b41f9d65e2876e04f31a7f34c63a33bd4d174c6f33d9c172180885a49e7af6058abd009f099f28ab87
|
data/lib/tapsoob/schema.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
require 'sequel'
|
3
3
|
require 'sequel/extensions/schema_dumper'
|
4
4
|
require 'sequel/extensions/migration'
|
5
|
+
require 'erb'
|
5
6
|
require 'json'
|
6
7
|
|
7
8
|
module Tapsoob
|
@@ -11,17 +12,23 @@ module Tapsoob
|
|
11
12
|
def dump(database_url)
|
12
13
|
db = Sequel.connect(database_url)
|
13
14
|
db.extension :schema_dumper
|
14
|
-
|
15
|
+
template = ERB.new <<-END_MIG
|
15
16
|
Class.new(Sequel::Migration) do
|
16
17
|
def up
|
17
|
-
|
18
|
+
<% db.tables.each do |table| %>
|
19
|
+
<%= db.dump_table_schema(table, indexes: false) %>
|
20
|
+
<% end %>
|
18
21
|
end
|
19
22
|
|
20
23
|
def down
|
21
|
-
|
24
|
+
<% db.tables.each do |table| %>
|
25
|
+
drop_table(<%= table %>, if_exists: true)
|
26
|
+
<% end %>
|
22
27
|
end
|
23
28
|
end
|
24
29
|
END_MIG
|
30
|
+
|
31
|
+
template.result(binding)
|
25
32
|
end
|
26
33
|
|
27
34
|
def dump_table(database_url, table)
|
data/lib/tapsoob/version.rb
CHANGED