@@ -1095,6 +1095,7 @@ impl ConnectionType {
10951095pub enum EnumSource {
10961096 Enum ( Arc < Enum > ) ,
10971097 FilterIs ,
1098+ TableColumns ( Arc < Table > ) ,
10981099}
10991100
11001101#[ derive( Clone , Debug , Eq , PartialEq , Hash ) ]
@@ -1426,22 +1427,40 @@ impl ___Type for MutationType {
14261427 table : Arc :: clone ( table) ,
14271428 schema : Arc :: clone ( & self . schema ) ,
14281429 } ) ,
1429- args : vec ! [ __InputValue {
1430- name_: "objects" . to_string( ) ,
1431- type_: __Type:: NonNull ( NonNullType {
1432- type_: Box :: new( __Type:: List ( ListType {
1433- type_: Box :: new( __Type:: NonNull ( NonNullType {
1434- type_: Box :: new( __Type:: InsertInput ( InsertInputType {
1435- table: Arc :: clone( table) ,
1436- schema: Arc :: clone( & self . schema) ,
1430+ args : vec ! [
1431+ __InputValue {
1432+ name_: "objects" . to_string( ) ,
1433+ type_: __Type:: NonNull ( NonNullType {
1434+ type_: Box :: new( __Type:: List ( ListType {
1435+ type_: Box :: new( __Type:: NonNull ( NonNullType {
1436+ type_: Box :: new( __Type:: InsertInput ( InsertInputType {
1437+ table: Arc :: clone( table) ,
1438+ schema: Arc :: clone( & self . schema) ,
1439+ } ) ) ,
14371440 } ) ) ,
14381441 } ) ) ,
1439- } ) ) ,
1440- } ) ,
1441- description: None ,
1442- default_value: None ,
1443- sql_type: None ,
1444- } ] ,
1442+ } ) ,
1443+ description: None ,
1444+ default_value: None ,
1445+ sql_type: None ,
1446+ } ,
1447+ __InputValue {
1448+ name_: "update" . to_string( ) ,
1449+ type_: __Type:: NonNull ( NonNullType {
1450+ type_: Box :: new( __Type:: List ( ListType {
1451+ type_: Box :: new( __Type:: NonNull ( NonNullType {
1452+ type_: Box :: new( __Type:: InsertInput ( InsertInputType {
1453+ table: Arc :: clone( table) ,
1454+ schema: Arc :: clone( & self . schema) ,
1455+ } ) ) ,
1456+ } ) ) ,
1457+ } ) ) ,
1458+ } ) ,
1459+ description: None ,
1460+ default_value: None ,
1461+ sql_type: None ,
1462+ } ,
1463+ ] ,
14451464 description : Some ( format ! (
14461465 "Adds one or more `{}` records to the collection" ,
14471466 table_base_type_name
@@ -1629,6 +1648,10 @@ impl ___Type for EnumType {
16291648 )
16301649 }
16311650 EnumSource :: FilterIs => Some ( "FilterIs" . to_string ( ) ) ,
1651+ EnumSource :: TableColumns ( table) => Some ( format ! (
1652+ "{}Field" ,
1653+ self . schema. graphql_table_base_type_name( & table)
1654+ ) ) ,
16321655 }
16331656 }
16341657
@@ -1667,6 +1690,15 @@ impl ___Type for EnumType {
16671690 } ,
16681691 ]
16691692 }
1693+ EnumSource :: TableColumns ( table) => table
1694+ . columns
1695+ . iter ( )
1696+ . map ( |col| __EnumValue {
1697+ name : self . schema . graphql_column_field_name ( col) ,
1698+ description : None ,
1699+ deprecation_reason : None ,
1700+ } )
1701+ . collect ( ) ,
16701702 } )
16711703 }
16721704}
@@ -4160,6 +4192,11 @@ impl __Schema {
41604192 table : Arc :: clone ( table) ,
41614193 schema : Arc :: clone ( & schema_rc) ,
41624194 } ) ) ;
4195+ // Used by on conflict
4196+ types_. push ( __Type:: Enum ( EnumType {
4197+ enum_ : EnumSource :: TableColumns ( Arc :: clone ( table) ) ,
4198+ schema : Arc :: clone ( & schema_rc) ,
4199+ } ) ) ;
41634200 }
41644201
41654202 if self . graphql_table_update_types_are_valid ( table) {
0 commit comments