private string SEQName(TableOperation op) { var name = string.Format("SEQ_{0}_{1}", this.Prepare(op.TableName), this.Prepare(op.PKName)); name = OracleMigrationProvider.LimitOracleIdentifier(name); return(name); }
/// <summary> /// 由于 Oracle 中 FK 最长是 30 个字符,所以这里需要对多余的字符串做截取操作。 /// </summary> /// <param name="op"></param> /// <returns></returns> private static void PrepareFKConstraintName(FKConstraintOperation op) { var constraintName = op.ConstraintName; if (constraintName.StartsWith("FK_")) { constraintName = constraintName.Substring(3); } op.ConstraintName = OracleMigrationProvider.LimitOracleIdentifier(constraintName); }
protected override void GenerateAddPKConstraint(IndentedTextWriter sql, string tableName, string columnName) { var pkName = string.Format("PK_{0}_{1}", this.Prepare(tableName), this.Prepare(columnName) ); pkName = OracleMigrationProvider.LimitOracleIdentifier(pkName); sql.Write(@" ALTER TABLE "); sql.Write(this.Quote(tableName)); sql.Write(@" ADD CONSTRAINT "); sql.Write(this.Quote(pkName)); sql.Write(@" PRIMARY KEY ("); sql.Write(this.Quote(columnName)); sql.Write(")"); }