pg_spec_helper 1.9.4 → 1.9.6
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 +4 -4
- data/CHANGELOG.md +15 -0
- data/lib/pg_spec_helper/columns.rb +4 -2
- data/lib/pg_spec_helper/enums.rb +7 -3
- data/lib/pg_spec_helper/models.rb +1 -1
- data/lib/pg_spec_helper/schemas.rb +1 -1
- data/lib/pg_spec_helper/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e3b62da006b35dbea8daca7fdd3bd4d3e13ce98492f58d482e652b79d97b3f8f
|
4
|
+
data.tar.gz: 3f4220fc53329992304b3987305f71d06ff8522502f940d214b48835d2022502
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7be14d2cc0e8249d17fe46807779db16bee0aedac36be575b9f338c1b6454b11e19dc2263cd01b0c3f0b3c0602c78c6029d7ead1d5847a741e24eb24a6da8979
|
7
|
+
data.tar.gz: 505d2929712d1d6b7abde81eb9e7ffe9ff65f2a87e1e782a3df73456ba3e541dfcba6ea8792869884576cd5271028b8c76c62ce15104c62d5ae51c410b2065c6
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [1.9.6](https://github.com/craigulliott/pg_spec_helper/compare/v1.9.5...v1.9.6) (2023-08-24)
|
4
|
+
|
5
|
+
|
6
|
+
### Bug Fixes
|
7
|
+
|
8
|
+
* create columns with default values ([91e05b8](https://github.com/craigulliott/pg_spec_helper/commit/91e05b8b14c38161965ab8e2dc1d7e869e399567))
|
9
|
+
* fixed mistake in type signatures ([a2e5f1e](https://github.com/craigulliott/pg_spec_helper/commit/a2e5f1ed897dbd7968716126ccd6a675cc7a5641))
|
10
|
+
|
11
|
+
## [1.9.5](https://github.com/craigulliott/pg_spec_helper/compare/v1.9.4...v1.9.5) (2023-08-24)
|
12
|
+
|
13
|
+
|
14
|
+
### Bug Fixes
|
15
|
+
|
16
|
+
* only deleting types which were created by us to prevent deleting non enums or types required by materialized views ([2ad6ff6](https://github.com/craigulliott/pg_spec_helper/commit/2ad6ff6ab5edff95bceafb5e646dd2b2f4f0729f))
|
17
|
+
|
3
18
|
## [1.9.4](https://github.com/craigulliott/pg_spec_helper/compare/v1.9.3...v1.9.4) (2023-08-23)
|
4
19
|
|
5
20
|
|
@@ -6,11 +6,13 @@ class PGSpecHelper
|
|
6
6
|
end
|
7
7
|
|
8
8
|
# create a column for the provided table
|
9
|
-
def create_column schema_name, table_name, column_name, type, null = true
|
9
|
+
def create_column schema_name, table_name, column_name, type, null = true, default = nil
|
10
10
|
# note the `type` is safe from sql_injection due to the validation above
|
11
11
|
connection.exec(<<~SQL)
|
12
12
|
ALTER TABLE #{connection.quote_ident schema_name.to_s}.#{connection.quote_ident table_name.to_s}
|
13
|
-
ADD COLUMN #{connection.quote_ident column_name.to_s} #{type}
|
13
|
+
ADD COLUMN #{connection.quote_ident column_name.to_s} #{type}
|
14
|
+
#{null ? "" : "NOT NULL"}
|
15
|
+
#{default ? "DEFAULT #{default}" : ""}
|
14
16
|
SQL
|
15
17
|
end
|
16
18
|
|
data/lib/pg_spec_helper/enums.rb
CHANGED
@@ -7,6 +7,9 @@ class PGSpecHelper
|
|
7
7
|
connection.exec(<<~SQL)
|
8
8
|
CREATE TYPE #{schema_name}.#{enum_name} as ENUM ('#{values.join("','")}')
|
9
9
|
SQL
|
10
|
+
# so we can delete them later
|
11
|
+
@created_enums ||= []
|
12
|
+
@created_enums << {schema_name: schema_name, enum_name: enum_name}
|
10
13
|
end
|
11
14
|
|
12
15
|
# Drop an enum
|
@@ -30,12 +33,13 @@ class PGSpecHelper
|
|
30
33
|
end
|
31
34
|
|
32
35
|
# delete all enums in the provided schema
|
33
|
-
def
|
34
|
-
|
36
|
+
def delete_created_enums
|
37
|
+
@created_enums&.each do |enum|
|
35
38
|
connection.exec(<<~SQL)
|
36
|
-
DROP TYPE #{schema_name}.#{enum_name};
|
39
|
+
DROP TYPE #{enum[:schema_name]}.#{enum[:enum_name]};
|
37
40
|
SQL
|
38
41
|
end
|
42
|
+
@created_enums = []
|
39
43
|
end
|
40
44
|
end
|
41
45
|
end
|
@@ -16,7 +16,7 @@ class PGSpecHelper
|
|
16
16
|
# create the table
|
17
17
|
create_table schema_name, table_name
|
18
18
|
# create the standard columns
|
19
|
-
create_column schema_name, table_name, :id, :
|
19
|
+
create_column schema_name, table_name, :id, :uuid, null: false, default: "uuid_generate_v4()"
|
20
20
|
create_column schema_name, table_name, :created_at, :timestamp
|
21
21
|
create_column schema_name, table_name, :updated_at, :timestamp
|
22
22
|
# add the primary key
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pg_spec_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.9.
|
4
|
+
version: 1.9.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Craig Ulliott
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-08-
|
11
|
+
date: 2023-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pg
|