<br><br><div class="gmail_quote">On Tue, Mar 9, 2010 at 11:50 AM, Mitch Pirtle <span dir="ltr">&lt;<a href="mailto:mitch.pirtle@gmail.com">mitch.pirtle@gmail.com</a>&gt;</span> wr<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


Seriously though: Take whatever popular PHP CMS you might have laying<br>
around, and consider what it would take to migrate content from one<br>
existing website to another website that also already has its own<br>
content... I&#39;m willing to bet all that data is &quot;unique&quot; to a bunch of<br>
incrementally selected, absolutely meaningless integers.<br></blockquote><div><br></div><div><br></div><div>Content doesn&#39;t worry me.  What gives me fits are configurations.</div><div><br></div><div>Content is easy to migrate, add 100 or 1000 to all the id fields of the source data, set a new auto-increment number on the target database to be higher than the highest number.  Export, import, call it a day.</div>

<div><br></div><div>But when you have a bunch of keyword lookup fields and have tied all THAT together by id numbers...that can get...interesting.</div><div><br></div><div>Especially when your mapping one set of string data to another and half of them don&#39;t directly correlate.</div>

<div><br></div><div>Now there I can see a good argument to forgetting the id mapping to the keyword table.  Instead, you build the a keyword table with just the keywords themselves.</div><div><br></div><div>It means a little more work when you have to change a keyword because company A changed their name to Z... so every record with an A in it has to be updated[or maybe you cheat and include a second column in your keyword table, &quot;formerly known as&quot; - and whenever a record is retrieved that does not have a match in the parent table, you go out and grab the parent...  That works well for speedier migration/changing.  It runs into problems when you have 2 keywords that where reworded a number of times and at different points in time they both shared the same label.</div>

<div><br></div><div>It also means a lot more work in documenting your database.</div></div>