Skip to content

Commit 675e2ed

Browse files
Merge pull request #121 from dotnetprojects/sql-server-default-values
Extend limit in Oracle guard from 30bytes to 128bytes.
2 parents 20c52c6 + ad29b3f commit 675e2ed

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/Migrator/Providers/Impl/Oracle/OracleTransformationProvider.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,11 @@ public override void AddForeignKey(string name, string primaryTable, string[] pr
137137

138138
private void GuardAgainstMaximumIdentifierLengthForOracle(string name)
139139
{
140-
if (name.Length > 30)
140+
var utf8Bytes = Encoding.UTF8.GetBytes(name);
141+
142+
if (utf8Bytes.Length > 128)
141143
{
142-
throw new ArgumentException(string.Format("The name \"{0}\" is {1} characters in length, bug maximum length for Oracle identifier is 30 characters.", name, name.Length), "name");
144+
throw new MigrationException($"The name '{name}' is {utf8Bytes.Length} bytes in length, but maximum length for Oracle identifiers is 128 bytes for Oracle versions 12.1+.");
143145
}
144146
}
145147

0 commit comments

Comments
 (0)