3 Replies Latest reply: Sep 5, 2013 10:36 AM by dbomp RSS

    It's adding same column to relational model over and over

    dbomp
      I'm using 3.3.0.747 now, and I'm pretty sure that it wasn't doing this when I was using 3.1.4. I go into the logical model and add an attribute (say "My notes") to an existing entity (say "Specifications"), adding a preferred abbreviation of "notes" to it. I engineer to the logical model, and it dutifully says that it's going to add a column to the corresponding table ("specs"). And it does.

      Now, later, I add some attributes to some other table. When I do the engineering, it says that "notes" doesn't exist in "specs" and it's going to add it. If I let the engineering go through, I find that the relational model for "specs" now has two columns on it, "notes" and "notes1". If I do it again, I get "notes2". If I delete "notes1" and "notes2" and engineer again, "notes1" comes back.

      I'm not finding that it does it this every time, but it's doing it for maybe half the columns I add to existing tables. (I haven't figured out a pattern.) If it happens to be a foreign key relationship, it creates an additional foreign key.

      So far I've just added a step to my process to hunt down the new columns and delete them (or flag the logical model to not engineer the table at all if I know I haven't changed anything), but there must be something obvious I'm missing..

      Edited by: dbomp on Apr 17, 2013 10:53 AM

      I'll take back one thing I said: If the once-new column is related to a foreign key, it does keep re-creating the column, but it doesn't create new foreign key relationships to go with it.
        • 1. Re: It's adding same column to relational model over and over
          Philip Stoyanov-Oracle
          Hi,

          I cannot reproduce it. Can you check log file for problems logged there?
          Can you reproduce it with new design created using 3.3.0.747?

          Philip
          • 2. Re: It's adding same column to relational model over and over
            dbomp
            I was pounding on it today but couldn't get it to fail with a new model. The error log didn't have anything that coincided with the time when I clicked the ">>" button, which shows in the tree that it's going to create a new column, or when I "Engineer".

            Two data points, for what they're worth. One, the engineer comparison tree doesn't show, for the relational model, that the once-new column exists at all. That is, it's not showing the column and showing that it's going to create one. It just looks as if the column doesn't exist so that it's going to create it. Two, when it does create the column with the numerical suffix, it puts it at the end of the column list, not in the middle or wherever the once-new column appears in the logical's column list.

            Wish I had more clues.
            • 3. Re: It's adding same column to relational model over and over
              dbomp

              I figured it out so I thought I'd put this here in case others bump into it.

               

              What's going on is that the logical-to-relational engineering comparison tool doesn't recognize relational columns that the engineering tool didn't create.  Sometimes I would add columns to both the logical and relational models manually rather than engineering.  Say all I wanted to do was to add an active_flag to a table.  I'd add it to the relational model and then add it to the logical model's corresponding entity with exactly the same values.  Later, when I had a bunch of logical model changes to engineer, it wouldn't recognize the active_flag ("preferred abbreviation") in the entity as being the same thing as the active_flag in the relational table, and it'd create an active_flag2 column.

               

              Lesson:  only create new relational table columns by engineering them from the logical model.