Greetings,
GeoAccessor.to_featureclass(location, overwrite=True, has_z=None, has_m=None, sanitize_columns=True) is quite handy, but would be much handier if there was a truncate parameter instead of forced drop. As is, the table is dropped, which is not ideal in many situations, including holding table permissions. Truncate would preserve the table and table schema whilst inserting or appending the the values.
So a new to_featureclass() method might look like this:
GeoAccessor.to_featureclass(location, overwrite=True, has_z=None, has_m=None, sanitize_columns=True, drop=False, truncate=True)
A drop=False, truncate=False would imply append.
The method would have to generate ObjectIDs and GlobalIDs as necessary. An error would occur if datatypes were violated. Consideration could be given for whether an error was given for extra or lacking columns not matching db table.
Thank you,
Tyler