Issue with TruncateLongDefaultNames on Oracle 19

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Post Reply
PeterUser
Posts: 58
Joined: Mon 27 Feb 2017 07:45

Issue with TruncateLongDefaultNames on Oracle 19

Post by PeterUser » Thu 23 Jun 2022 08:53

Hello,

I have an issue with the TruncateLongDefaultNames after an upgrade to Oracle 19.

One of our customers is currently upgrading from Oracle 12 to 19. At the moment one of the test systems is updated, while other test systems and the production system are not.

We work with the TruncateLongDefaultNames = true option to avoid long identifiers.

When I run

Code: Select all

Update-Database ... -Script
on the Oracle 12 database, I get

Code: Select all

-- Script was generated by Devart dotConnect for Oracle, Version 9.16.1434
-- Product home page: http://www.devart.com/dotconnect/oracle
-- Database version: Oracle 12.1.0.2
-- Script date 23/06/2022 10:43:26

DROP INDEX PLATINEN_ADMIN.IX_N1493827076
/
with the Oracle 19 database, I get

Code: Select all

-- Script was generated by Devart dotConnect for Oracle, Version 9.16.1434
-- Product home page: http://www.devart.com/dotconnect/oracle
-- Database version: Oracle 19.0.0.0
-- Script date 23/06/2022 10:42:37

DROP INDEX PLATINEN_ADMIN.IX_PCB_TYPES_CREATED_IN_LOCATION_ID
/
This discrepancy is an issue since my databases would diverge. According to the documentation, I would expect to see the truncated version:
TruncateLongDefaultNames - When set to true, long default names of triggers, sequences, indexes, primary keys, and foreign keys, generated by Code-First Migrations, will be truncated to 30 symbols. When set to false, an exception will be raised for long default names. Be careful when setting the property to true, because checks for uniqueness of names are not performed. Default value is true.
Is there a way to use truncated names with Oracle 19?

Kind regards
Peter

Post Reply