prick 0.25.2 → 0.26.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3dc4e433b296e10221975eb85be4abea219720e0612c0f9720369fd69e18daa1
4
- data.tar.gz: 68215c2e6557dd7288bd3754a65780d4b6c3794ed10c7aecc714b856f5d94fc8
3
+ metadata.gz: 3fcaa84e14ed58667eaa0752b5dec5ba5786f3a32b2a598d8d78ab6636817e65
4
+ data.tar.gz: b9582bdb7d6733b0aaf50675581135e2c04fabe322d7c8ccbec5481569a7ec04
5
5
  SHA512:
6
- metadata.gz: fd193deed4c0d020c6396ebb3862aaa8a65c6edbd1c28e822548db28412a60fb7e85ef357d1a72f883adc6375463415d926129988c8938cab767ce2ebf99a29b
7
- data.tar.gz: 22c84f80ecc0eaec3d73e1c87586e705074d3793cafef5e954aaf9538c9fad04b012f50527a63bc611272c324f91e122e4366ac9d7315e91cd43a9ecabc33f2e
6
+ metadata.gz: 72cb0ca152e3805131079e3e9d473eb1fb8623d571bbdeddd398e943dc199bb31f5f0c1e94f78c163211dbc5bd2fcad5858e3ad11331e6a5fea70c898d07a047
7
+ data.tar.gz: bdd15924608544c695c2932b1a7e3581307917bced9f2a449caeb56962aa17546ed8a6314ce5f7450a519c01288c883d1d82d1980145d81ad1e9928e906ce207
@@ -34,7 +34,7 @@ module Prick
34
34
  forward_to :pool, :schemas,
35
35
  :nodes, :decl_nodes, :init_nodes, :term_nodes,
36
36
  :seed_nodes, :fox_seed_nodes, :sql_seed_nodes,
37
- :builder_nodes,
37
+ :build_nodes,
38
38
  :pg_graph_ignore_schemas,
39
39
  :refresh_schemas, :keep_schemas
40
40
 
@@ -92,7 +92,7 @@ module Prick
92
92
 
93
93
  def execute(conn, create_schemas: schemas)
94
94
  group if batches.nil?
95
- conn.exec create_schemas.grep_v("public").map { |schema| "create schema #{schema}" }
95
+ conn.exec create_schemas.map { |schema| "create schema #{schema}" }
96
96
  for batch in batches
97
97
  batch.execute
98
98
  end
data/lib/prick/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Prick
4
- VERSION = "0.25.2"
4
+ VERSION = "0.26.0"
5
5
  end
@@ -48,10 +48,6 @@ module Prick::SubCommand
48
48
 
49
49
  # Drop refresh schemes
50
50
  refresh_schemas.each { |schema| conn.schema.drop(schema, cascade: true) }
51
-
52
- # Re-create public schema
53
- conn.schema.create("public", authorization: "postgres")
54
- conn.exec "grant usage, create on schema public to public"
55
51
  end
56
52
  end
57
53
 
@@ -5,7 +5,7 @@ require 'builder/builder.rb'
5
5
  module Prick::SubCommand
6
6
  def self.make(database, username, schema, timer: nil, dump: nil)
7
7
  Timer.on! if timer
8
- time "Prick::Command#build" do
8
+ time "Prick::Command#make" do
9
9
  begin
10
10
  super_conn = PgConn.new
11
11
  conn = nil
@@ -17,7 +17,7 @@ module Prick::SubCommand
17
17
  time "Load build object" do
18
18
  if super_conn.rdbms.exist? database
19
19
  conn = PgConn.new(database, username)
20
- if conn.schema.exist_table? "prick", "versions" && !conn.empty?("prick.versions")
20
+ if conn.schema.exist_table?("prick", "versions") && !conn.empty?("prick.versions")
21
21
  built_at = conn.value("select built_at from prick.versions")
22
22
  end
23
23
  else
@@ -28,11 +28,19 @@ module Prick::SubCommand
28
28
 
29
29
  builder = Prick::Build::Builder.new(conn, "schema", clean)
30
30
 
31
- if schema
32
- builder.pool.after_schema(schema).each { |schema|
33
- conn.schema.drop(schema, cascade: true)
34
- builder.pool.delete_schema(schema)
31
+ if schema
32
+ after_schemas = builder.pool.after_schema(schema)
33
+ refresh_schemas = builder.pool.refresh_schemas
34
+ conn.schema.drop(schema, cascade: true) # Marks it dirty
35
+
36
+ # Nuke later schemas
37
+ # FIXME Not a good idea when sitting on a leaf schema.
38
+ # Forced-delete could be requested using 'prick make schema'
39
+ #
40
+ (after_schemas & refresh_schemas).each { |drop_schema|
41
+ conn.schema.drop(drop_schema, cascade: true)
35
42
  }
43
+ after_schemas.each { |delete_schema| builder.pool.delete_schema(delete_schema) }
36
44
  end
37
45
 
38
46
  touched_nodes = builder.nodes.select { |node| File.mtime(node.path) > built_at }
@@ -41,7 +49,7 @@ module Prick::SubCommand
41
49
  touched_schema = touched_nodes.first&.schema
42
50
  missing_schema = builder.schemas.find { |schema| !conn.schema.exist?(schema) }
43
51
  build_schema = builder.schemas.find { |schema| [touched_schema, missing_schema].include? schema }
44
-
52
+
45
53
  if build_schema.nil?
46
54
  puts "#{database} is up to date"
47
55
  exit
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prick
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.25.2
4
+ version: 0.26.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Claus Rasmussen