private void ProcessRelations() { foreach (IRelation r in Model.Relations) { if (r is ISubtypeRelation) { creator.WriteLine(updater.WriteCommentLine( "Subtyping reference: {0} is a {1}", r.ForeignKey.ChildTable.FullName, r.ForeignKey.ParentTable.FullName)); } ICodeWriterPlSql sql = Model.Lamp.CodeWritersFactory.CreateCodeWriterPlSql(); sql.WriteCreateForeignKey(r, environment); creator.WriteFrom(sql); creator.WriteSeparator(); WriteExecImmediatWhenNotExists( "ALL_CONSTRAINTS", String.Format("OWNER='{0}' AND CONSTRAINT_NAME='{1}' AND CONSTRAINT_TYPE='R'", r.ForeignKey.ChildTable.Persistence.Schema, r.ForeignKey.Name), sql); updater.WriteLine(); genie.Config.NotifyAssistants("Create", r, sql.ToString()); } }