mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Fixed an issue where difference SQL is not seen in the schema diff tool for Types. Fixes #5302
This commit is contained in:
@@ -378,6 +378,16 @@ def directory_diff(source_dict, target_dict, ignore_keys=[], difference={}):
|
||||
difference[key] = source
|
||||
elif len(source_dict[key]) > 0:
|
||||
difference[key] = source_dict[key]
|
||||
elif key in target_dict and type(target_dict[key]) is list:
|
||||
# If no element in source dict then check for the element
|
||||
# is available in target and the type is of list.
|
||||
# Added such elements as a deleted.
|
||||
tmp_tar_list = list(filter(
|
||||
lambda x: type(x) == list or type(x) == dict,
|
||||
target_dict[key]
|
||||
))
|
||||
if len(tmp_tar_list):
|
||||
difference[key] = {'deleted': target_dict[key]}
|
||||
|
||||
if type(source) is dict and tmp_target and key in tmp_target and \
|
||||
tmp_target[key] and len(tmp_target[key]) > 0:
|
||||
|
@@ -588,6 +588,12 @@ GRANT USAGE ON TYPE source.typ_comp_diff TO PUBLIC;
|
||||
GRANT USAGE ON TYPE source.typ_comp_diff TO pg_monitor WITH GRANT OPTION;
|
||||
GRANT USAGE ON TYPE source.typ_comp_diff TO postgres;
|
||||
|
||||
CREATE TYPE source.typ_comp_diff_no_column AS
|
||||
(
|
||||
);
|
||||
ALTER TYPE source.typ_comp_diff_no_column
|
||||
OWNER TO postgres;
|
||||
|
||||
-- Type Script ENUM type
|
||||
CREATE TYPE source.typ_enum_src AS ENUM
|
||||
('test_enum');
|
||||
|
@@ -551,6 +551,14 @@ CREATE TYPE target.typ_comp_diff AS
|
||||
ALTER TYPE target.typ_comp_diff
|
||||
OWNER TO postgres;
|
||||
|
||||
CREATE TYPE target.typ_comp_diff_no_column AS
|
||||
(
|
||||
a "char",
|
||||
b "char"
|
||||
);
|
||||
ALTER TYPE target.typ_comp_diff_no_column
|
||||
OWNER TO postgres;
|
||||
|
||||
-- Type Script ENUM type
|
||||
CREATE TYPE target.typ_enum_tar AS ENUM
|
||||
('test_enum');
|
||||
|
@@ -565,6 +565,48 @@ ALTER DOMAIN source.dom_type_diff
|
||||
COMMENT ON DOMAIN source.dom_type_diff
|
||||
IS 'Test comment';
|
||||
|
||||
-- Type Script composite type
|
||||
CREATE TYPE source.typ_comp_src AS
|
||||
(
|
||||
m1 bit(5),
|
||||
m2 text COLLATE pg_catalog."POSIX"
|
||||
);
|
||||
ALTER TYPE source.typ_comp_src
|
||||
OWNER TO postgres;
|
||||
|
||||
CREATE TYPE source.typ_comp_diff AS
|
||||
(
|
||||
m1 numeric(5,2),
|
||||
m3 character varying(30) COLLATE pg_catalog."C"
|
||||
);
|
||||
ALTER TYPE source.typ_comp_diff
|
||||
OWNER TO postgres;
|
||||
COMMENT ON TYPE source.typ_comp_diff
|
||||
IS 'Test Comment';
|
||||
GRANT USAGE ON TYPE source.typ_comp_diff TO PUBLIC;
|
||||
GRANT USAGE ON TYPE source.typ_comp_diff TO pg_monitor WITH GRANT OPTION;
|
||||
GRANT USAGE ON TYPE source.typ_comp_diff TO postgres;
|
||||
|
||||
CREATE TYPE source.typ_comp_diff_no_column AS
|
||||
(
|
||||
);
|
||||
ALTER TYPE source.typ_comp_diff_no_column
|
||||
OWNER TO postgres;
|
||||
|
||||
-- Type Script ENUM type
|
||||
CREATE TYPE source.typ_enum_src AS ENUM
|
||||
('test_enum');
|
||||
ALTER TYPE source.typ_enum_src
|
||||
OWNER TO postgres;
|
||||
|
||||
CREATE TYPE source.typ_enum_diff AS ENUM
|
||||
('test_enum', 'test_enum_1');
|
||||
ALTER TYPE source.typ_enum_diff
|
||||
OWNER TO postgres;
|
||||
COMMENT ON TYPE source.typ_enum_diff
|
||||
IS 'Test Comment';
|
||||
GRANT USAGE ON TYPE source.typ_enum_src TO pg_monitor WITH GRANT OPTION;
|
||||
|
||||
-- Type Script RANGE type
|
||||
CREATE TYPE source.typ_range_src AS RANGE
|
||||
(
|
||||
|
@@ -550,6 +550,14 @@ CREATE TYPE target.typ_comp_diff AS
|
||||
ALTER TYPE target.typ_comp_diff
|
||||
OWNER TO postgres;
|
||||
|
||||
CREATE TYPE target.typ_comp_diff_no_column AS
|
||||
(
|
||||
a "char",
|
||||
b "char"
|
||||
);
|
||||
ALTER TYPE target.typ_comp_diff_no_column
|
||||
OWNER TO postgres;
|
||||
|
||||
-- Type Script ENUM type
|
||||
CREATE TYPE target.typ_enum_tar AS ENUM
|
||||
('test_enum');
|
||||
|
@@ -566,6 +566,48 @@ ALTER DOMAIN source.dom_type_diff
|
||||
COMMENT ON DOMAIN source.dom_type_diff
|
||||
IS 'Test comment';
|
||||
|
||||
-- Type Script composite type
|
||||
CREATE TYPE source.typ_comp_src AS
|
||||
(
|
||||
m1 bit(5),
|
||||
m2 text COLLATE pg_catalog."POSIX"
|
||||
);
|
||||
ALTER TYPE source.typ_comp_src
|
||||
OWNER TO postgres;
|
||||
|
||||
CREATE TYPE source.typ_comp_diff AS
|
||||
(
|
||||
m1 numeric(5,2),
|
||||
m3 character varying(30) COLLATE pg_catalog."C"
|
||||
);
|
||||
ALTER TYPE source.typ_comp_diff
|
||||
OWNER TO postgres;
|
||||
COMMENT ON TYPE source.typ_comp_diff
|
||||
IS 'Test Comment';
|
||||
GRANT USAGE ON TYPE source.typ_comp_diff TO PUBLIC;
|
||||
GRANT USAGE ON TYPE source.typ_comp_diff TO pg_monitor WITH GRANT OPTION;
|
||||
GRANT USAGE ON TYPE source.typ_comp_diff TO postgres;
|
||||
|
||||
CREATE TYPE source.typ_comp_diff_no_column AS
|
||||
(
|
||||
);
|
||||
ALTER TYPE source.typ_comp_diff_no_column
|
||||
OWNER TO postgres;
|
||||
|
||||
-- Type Script ENUM type
|
||||
CREATE TYPE source.typ_enum_src AS ENUM
|
||||
('test_enum');
|
||||
ALTER TYPE source.typ_enum_src
|
||||
OWNER TO postgres;
|
||||
|
||||
CREATE TYPE source.typ_enum_diff AS ENUM
|
||||
('test_enum', 'test_enum_1');
|
||||
ALTER TYPE source.typ_enum_diff
|
||||
OWNER TO postgres;
|
||||
COMMENT ON TYPE source.typ_enum_diff
|
||||
IS 'Test Comment';
|
||||
GRANT USAGE ON TYPE source.typ_enum_src TO pg_monitor WITH GRANT OPTION;
|
||||
|
||||
-- Type Script RANGE type
|
||||
CREATE TYPE source.typ_range_src AS RANGE
|
||||
(
|
||||
|
@@ -539,6 +539,14 @@ CREATE TYPE target.typ_comp_diff AS
|
||||
ALTER TYPE target.typ_comp_diff
|
||||
OWNER TO postgres;
|
||||
|
||||
CREATE TYPE target.typ_comp_diff_no_column AS
|
||||
(
|
||||
a "char",
|
||||
b "char"
|
||||
);
|
||||
ALTER TYPE target.typ_comp_diff_no_column
|
||||
OWNER TO postgres;
|
||||
|
||||
-- Type Script ENUM type
|
||||
CREATE TYPE target.typ_enum_tar AS ENUM
|
||||
('test_enum');
|
||||
|
@@ -435,6 +435,46 @@ ALTER DOMAIN source.dom_type_diff
|
||||
COMMENT ON DOMAIN source.dom_type_diff
|
||||
IS 'Test comment';
|
||||
|
||||
-- Type Script composite type
|
||||
CREATE TYPE source.typ_comp_src AS
|
||||
(
|
||||
m1 bit(5),
|
||||
m2 text COLLATE pg_catalog."POSIX"
|
||||
);
|
||||
ALTER TYPE source.typ_comp_src
|
||||
OWNER TO postgres;
|
||||
|
||||
CREATE TYPE source.typ_comp_diff AS
|
||||
(
|
||||
m1 numeric(5,2),
|
||||
m3 character varying(30) COLLATE pg_catalog."C"
|
||||
);
|
||||
ALTER TYPE source.typ_comp_diff
|
||||
OWNER TO postgres;
|
||||
COMMENT ON TYPE source.typ_comp_diff
|
||||
IS 'Test Comment';
|
||||
GRANT USAGE ON TYPE source.typ_comp_diff TO PUBLIC;
|
||||
GRANT USAGE ON TYPE source.typ_comp_diff TO postgres;
|
||||
|
||||
CREATE TYPE source.typ_comp_diff_no_column AS
|
||||
(
|
||||
);
|
||||
ALTER TYPE source.typ_comp_diff_no_column
|
||||
OWNER TO postgres;
|
||||
|
||||
-- Type Script ENUM type
|
||||
CREATE TYPE source.typ_enum_src AS ENUM
|
||||
('test_enum');
|
||||
ALTER TYPE source.typ_enum_src
|
||||
OWNER TO postgres;
|
||||
|
||||
CREATE TYPE source.typ_enum_diff AS ENUM
|
||||
('test_enum', 'test_enum_1');
|
||||
ALTER TYPE source.typ_enum_diff
|
||||
OWNER TO postgres;
|
||||
COMMENT ON TYPE source.typ_enum_diff
|
||||
IS 'Test Comment';
|
||||
|
||||
-- Type Script RANGE type
|
||||
CREATE TYPE source.typ_range_src AS RANGE
|
||||
(
|
||||
|
@@ -459,6 +459,14 @@ CREATE TYPE target.typ_comp_diff AS
|
||||
ALTER TYPE target.typ_comp_diff
|
||||
OWNER TO postgres;
|
||||
|
||||
CREATE TYPE target.typ_comp_diff_no_column AS
|
||||
(
|
||||
a "char",
|
||||
b "char"
|
||||
);
|
||||
ALTER TYPE target.typ_comp_diff_no_column
|
||||
OWNER TO postgres;
|
||||
|
||||
-- Type Script ENUM type
|
||||
CREATE TYPE target.typ_enum_tar AS ENUM
|
||||
('test_enum');
|
||||
|
@@ -502,6 +502,48 @@ ALTER DOMAIN source.dom_type_diff
|
||||
COMMENT ON DOMAIN source.dom_type_diff
|
||||
IS 'Test comment';
|
||||
|
||||
-- Type Script composite type
|
||||
CREATE TYPE source.typ_comp_src AS
|
||||
(
|
||||
m1 bit(5),
|
||||
m2 text COLLATE pg_catalog."POSIX"
|
||||
);
|
||||
ALTER TYPE source.typ_comp_src
|
||||
OWNER TO enterprisedb;
|
||||
|
||||
CREATE TYPE source.typ_comp_diff AS
|
||||
(
|
||||
m1 numeric(5,2),
|
||||
m3 character varying(30) COLLATE pg_catalog."C"
|
||||
);
|
||||
ALTER TYPE source.typ_comp_diff
|
||||
OWNER TO enterprisedb;
|
||||
COMMENT ON TYPE source.typ_comp_diff
|
||||
IS 'Test Comment';
|
||||
GRANT USAGE ON TYPE source.typ_comp_diff TO PUBLIC;
|
||||
GRANT USAGE ON TYPE source.typ_comp_diff TO pg_monitor WITH GRANT OPTION;
|
||||
GRANT USAGE ON TYPE source.typ_comp_diff TO enterprisedb;
|
||||
|
||||
CREATE TYPE source.typ_comp_diff_no_column AS
|
||||
(
|
||||
);
|
||||
ALTER TYPE source.typ_comp_diff_no_column
|
||||
OWNER TO enterprisedb;
|
||||
|
||||
-- Type Script ENUM type
|
||||
CREATE TYPE source.typ_enum_src AS ENUM
|
||||
('test_enum');
|
||||
ALTER TYPE source.typ_enum_src
|
||||
OWNER TO enterprisedb;
|
||||
|
||||
CREATE TYPE source.typ_enum_diff AS ENUM
|
||||
('test_enum', 'test_enum_1');
|
||||
ALTER TYPE source.typ_enum_diff
|
||||
OWNER TO enterprisedb;
|
||||
COMMENT ON TYPE source.typ_enum_diff
|
||||
IS 'Test Comment';
|
||||
GRANT USAGE ON TYPE source.typ_enum_src TO pg_monitor WITH GRANT OPTION;
|
||||
|
||||
-- Type Script RANGE type
|
||||
CREATE TYPE source.typ_range_src AS RANGE
|
||||
(
|
||||
|
@@ -486,6 +486,14 @@ CREATE TYPE target.typ_comp_diff AS
|
||||
ALTER TYPE target.typ_comp_diff
|
||||
OWNER TO enterprisedb;
|
||||
|
||||
CREATE TYPE target.typ_comp_diff_no_column AS
|
||||
(
|
||||
a "char",
|
||||
b "char"
|
||||
);
|
||||
ALTER TYPE target.typ_comp_diff_no_column
|
||||
OWNER TO enterprisedb;
|
||||
|
||||
-- Type Script ENUM type
|
||||
CREATE TYPE target.typ_enum_tar AS ENUM
|
||||
('test_enum');
|
||||
|
@@ -436,6 +436,46 @@ ALTER DOMAIN source.dom_type_diff
|
||||
COMMENT ON DOMAIN source.dom_type_diff
|
||||
IS 'Test comment';
|
||||
|
||||
-- Type Script composite type
|
||||
CREATE TYPE source.typ_comp_src AS
|
||||
(
|
||||
m1 bit(5),
|
||||
m2 text COLLATE pg_catalog."POSIX"
|
||||
);
|
||||
ALTER TYPE source.typ_comp_src
|
||||
OWNER TO enterprisedb;
|
||||
|
||||
CREATE TYPE source.typ_comp_diff AS
|
||||
(
|
||||
m1 numeric(5,2),
|
||||
m3 character varying(30) COLLATE pg_catalog."C"
|
||||
);
|
||||
ALTER TYPE source.typ_comp_diff
|
||||
OWNER TO enterprisedb;
|
||||
COMMENT ON TYPE source.typ_comp_diff
|
||||
IS 'Test Comment';
|
||||
GRANT USAGE ON TYPE source.typ_comp_diff TO PUBLIC;
|
||||
GRANT USAGE ON TYPE source.typ_comp_diff TO enterprisedb;
|
||||
|
||||
CREATE TYPE source.typ_comp_diff_no_column AS
|
||||
(
|
||||
);
|
||||
ALTER TYPE source.typ_comp_diff_no_column
|
||||
OWNER TO enterprisedb;
|
||||
|
||||
-- Type Script ENUM type
|
||||
CREATE TYPE source.typ_enum_src AS ENUM
|
||||
('test_enum');
|
||||
ALTER TYPE source.typ_enum_src
|
||||
OWNER TO enterprisedb;
|
||||
|
||||
CREATE TYPE source.typ_enum_diff AS ENUM
|
||||
('test_enum', 'test_enum_1');
|
||||
ALTER TYPE source.typ_enum_diff
|
||||
OWNER TO enterprisedb;
|
||||
COMMENT ON TYPE source.typ_enum_diff
|
||||
IS 'Test Comment';
|
||||
|
||||
-- Type Script RANGE type
|
||||
CREATE TYPE source.typ_range_src AS RANGE
|
||||
(
|
||||
|
@@ -459,6 +459,14 @@ CREATE TYPE target.typ_comp_diff AS
|
||||
ALTER TYPE target.typ_comp_diff
|
||||
OWNER TO enterprisedb;
|
||||
|
||||
CREATE TYPE target.typ_comp_diff_no_column AS
|
||||
(
|
||||
a "char",
|
||||
b "char"
|
||||
);
|
||||
ALTER TYPE target.typ_comp_diff_no_column
|
||||
OWNER TO enterprisedb;
|
||||
|
||||
-- Type Script ENUM type
|
||||
CREATE TYPE target.typ_enum_tar AS ENUM
|
||||
('test_enum');
|
||||
|
Reference in New Issue
Block a user