@@ -934,6 +934,39 @@ test('column with multiple checks', async () => {
934
934
await pgMeta . query ( `drop table t` )
935
935
} )
936
936
937
+ test ( 'column with multiple unique constraints' , async ( ) => {
938
+ await pgMeta . query ( `create table t(c int8 unique); alter table t add unique (c);` )
939
+
940
+ const res = await pgMeta . columns . list ( )
941
+ const columns = res . data
942
+ ?. filter ( ( c ) => c . schema === 'public' && c . table === 't' )
943
+ . map ( ( { id, table_id, ...c } ) => c )
944
+ expect ( columns ) . toMatchInlineSnapshot ( `
945
+ [
946
+ {
947
+ "check": null,
948
+ "comment": null,
949
+ "data_type": "bigint",
950
+ "default_value": null,
951
+ "enums": [],
952
+ "format": "int8",
953
+ "identity_generation": null,
954
+ "is_generated": false,
955
+ "is_identity": false,
956
+ "is_nullable": true,
957
+ "is_unique": true,
958
+ "is_updatable": true,
959
+ "name": "c",
960
+ "ordinal_position": 1,
961
+ "schema": "public",
962
+ "table": "t",
963
+ },
964
+ ]
965
+ ` )
966
+
967
+ await pgMeta . query ( `drop table t` )
968
+ } )
969
+
937
970
test ( 'dropping column checks' , async ( ) => {
938
971
await pgMeta . query ( `create table public.t(c int8 check (c != 0))` )
939
972
@@ -955,34 +988,30 @@ test('column with fully-qualified type', async () => {
955
988
schema : 'public' ,
956
989
name : 't' ,
957
990
} )
958
- const column = await pgMeta . columns . create ( {
991
+ const { data } = await pgMeta . columns . create ( {
959
992
table_id : table . data ! . id ,
960
993
name : 'c' ,
961
994
type : 's.my_type' ,
962
995
} )
996
+ const { id, table_id, ...column } = data !
963
997
expect ( column ) . toMatchInlineSnapshot ( `
964
998
{
965
- "data": {
966
- "check": null,
967
- "comment": null,
968
- "data_type": "USER-DEFINED",
969
- "default_value": null,
970
- "enums": [],
971
- "format": "my_type",
972
- "id": "16619.1",
973
- "identity_generation": null,
974
- "is_generated": false,
975
- "is_identity": false,
976
- "is_nullable": true,
977
- "is_unique": false,
978
- "is_updatable": true,
979
- "name": "c",
980
- "ordinal_position": 1,
981
- "schema": "public",
982
- "table": "t",
983
- "table_id": 16619,
984
- },
985
- "error": null,
999
+ "check": null,
1000
+ "comment": null,
1001
+ "data_type": "USER-DEFINED",
1002
+ "default_value": null,
1003
+ "enums": [],
1004
+ "format": "my_type",
1005
+ "identity_generation": null,
1006
+ "is_generated": false,
1007
+ "is_identity": false,
1008
+ "is_nullable": true,
1009
+ "is_unique": false,
1010
+ "is_updatable": true,
1011
+ "name": "c",
1012
+ "ordinal_position": 1,
1013
+ "schema": "public",
1014
+ "table": "t",
986
1015
}
987
1016
` )
988
1017
0 commit comments