|Attaching Objects to Projects
Here's how I messed up a migration a few weeks ago.
It was one of those situations...in a hurry...one last quick
migration... But try as I might, I couldn't get one SQL object
I had been working on a big delivered App Engine program, which was attached
to my App Designer project. I opened the AE program
from the "Development" tab and drilled down to the SQL.
I made the fix and saved the SQL and also the project itself.
Then I did a Compare and Report and the migration. But the
SQL change didn't show up in the target database. Tried again—same
thing. Cleared cache, made another change, saved, did another
Compare and Report and another migration—no luck.
Being in a hurry probably prevented me from thinking clearly
about the problem, but fortunately someone else looked and found
it. The SQL object wasn't in the project. Yes, I could see
it by drilling down through the AE program (which was in the
project), but the SQL itself wasn't. App Engine programs consist
of at least four object types: The AE program itself; AE sections;
PeopleCode programs; and SQL objects. Just because you can
see an object from the Development tab doesn't mean that
it is actually a part of the project. The "Upgrade" tab tells
the true story. Under the Upgrade tab
I could see a very long list of SQL objects but hadn't noticed
that the one in question wasn't there (because several others were
being changed at the same time and were migrating successfully).
The root cause of the problem was that for some reason the project
option "insert definition into project" was set to "manually."
The other possible settings for this option are "when definition is
opened" and "when definition is modified and saved, or deleted."
I use that last one in every case.
Whenever you create a new project, go immediately to Tools > Options
and check this setting, then save the project. In this way, you
won't need to know the actual hierarchy of objects. Anything you
change will be added to the project.
On a completely unrelated note, I've noticed recently that the
Google ads at the bottom of these pages sometimes consist of kar reppair
ads (forgive the spelling; I don't want to encourage more of these
I might have to stop talking about App Engine...