@@ -1097,6 +1097,7 @@ impl ConnectionType {
10971097pub enum EnumSource {
10981098 Enum ( Arc < Enum > ) ,
10991099 FilterIs ,
1100+ TableColumns ( Arc < Table > ) ,
11001101}
11011102
11021103#[ derive( Clone , Debug , Eq , PartialEq , Hash ) ]
@@ -1410,22 +1411,40 @@ impl ___Type for MutationType {
14101411 table : Arc :: clone ( table) ,
14111412 schema : Arc :: clone ( & self . schema ) ,
14121413 } ) ,
1413- args : vec ! [ __InputValue {
1414- name_: "objects" . to_string( ) ,
1415- type_: __Type:: NonNull ( NonNullType {
1416- type_: Box :: new( __Type:: List ( ListType {
1417- type_: Box :: new( __Type:: NonNull ( NonNullType {
1418- type_: Box :: new( __Type:: InsertInput ( InsertInputType {
1419- table: Arc :: clone( table) ,
1420- schema: Arc :: clone( & self . schema) ,
1414+ args : vec ! [
1415+ __InputValue {
1416+ name_: "objects" . to_string( ) ,
1417+ type_: __Type:: NonNull ( NonNullType {
1418+ type_: Box :: new( __Type:: List ( ListType {
1419+ type_: Box :: new( __Type:: NonNull ( NonNullType {
1420+ type_: Box :: new( __Type:: InsertInput ( InsertInputType {
1421+ table: Arc :: clone( table) ,
1422+ schema: Arc :: clone( & self . schema) ,
1423+ } ) ) ,
14211424 } ) ) ,
14221425 } ) ) ,
1423- } ) ) ,
1424- } ) ,
1425- description: None ,
1426- default_value: None ,
1427- sql_type: None ,
1428- } ] ,
1426+ } ) ,
1427+ description: None ,
1428+ default_value: None ,
1429+ sql_type: None ,
1430+ } ,
1431+ __InputValue {
1432+ name_: "update" . 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+ } ) ) ,
1440+ } ) ) ,
1441+ } ) ) ,
1442+ } ) ,
1443+ description: None ,
1444+ default_value: None ,
1445+ sql_type: None ,
1446+ } ,
1447+ ] ,
14291448 description : Some ( format ! (
14301449 "Adds one or more `{}` records to the collection" ,
14311450 table_base_type_name
@@ -1613,6 +1632,10 @@ impl ___Type for EnumType {
16131632 )
16141633 }
16151634 EnumSource :: FilterIs => Some ( "FilterIs" . to_string ( ) ) ,
1635+ EnumSource :: TableColumns ( table) => Some ( format ! (
1636+ "{}Field" ,
1637+ self . schema. graphql_table_base_type_name( & table)
1638+ ) ) ,
16161639 }
16171640 }
16181641
@@ -1651,6 +1674,15 @@ impl ___Type for EnumType {
16511674 } ,
16521675 ]
16531676 }
1677+ EnumSource :: TableColumns ( table) => table
1678+ . columns
1679+ . iter ( )
1680+ . map ( |col| __EnumValue {
1681+ name : self . schema . graphql_column_field_name ( col) ,
1682+ description : None ,
1683+ deprecation_reason : None ,
1684+ } )
1685+ . collect ( ) ,
16541686 } )
16551687 }
16561688}
@@ -4016,6 +4048,11 @@ impl __Schema {
40164048 table : Arc :: clone ( table) ,
40174049 schema : Arc :: clone ( & schema_rc) ,
40184050 } ) ) ;
4051+ // Used by on conflict
4052+ types_. push ( __Type:: Enum ( EnumType {
4053+ enum_ : EnumSource :: TableColumns ( Arc :: clone ( table) ) ,
4054+ schema : Arc :: clone ( & schema_rc) ,
4055+ } ) ) ;
40194056 }
40204057
40214058 if self . graphql_table_update_types_are_valid ( table) {
0 commit comments