Hi All,
We have got two environments, one test and one dev. The initial load has been done on both.
On the dev SCD implementation has been started with new data.
What if some error was found in test environment? Whats the best way to handle this? particularly when that change will have an effect on SCD implemented data??
My Guess :
To copy entire database of Test into Dev??
Regards
SCD Implementation
Moderators: chulett, rschirm, roy
I've been reading and answering a lot of your posts lately.
When doing an SCD, you transform a source row and compare it to the most recent existing row in your database. If there is no row, you insert it. If there exists a recent current row and your new row is different , you:
Type 1: Update current row with new rows information.
TYpe 2: Insert the new row, and update current (now old) row with an end-effective date
Type 1-2: If certain columns are different, update the current row like a type 1, if other columns are different, do a type 2
Type 3: Shuffle the columns on the type 3 chain and update the current row
Your question doesn't make sense. What you do in dev stays in dev. Test is supposed to be a copy of production. If you're developing in dev and mess up the dev data, then the only starting copy you have is in test unless you do a full initial load again in dev.
I don't quite understand your points though. It sounds like if you mess up dev you should copy from test. But what happens in test if that is messed up? Updating a retiring row when inserting a new variant does change the data, don't you have to undo what's done in test to get back to the initial load? It sounds like you should consider doing an initial load in dev, copying it off someplace so that you can revert that back without relying on test.
When doing an SCD, you transform a source row and compare it to the most recent existing row in your database. If there is no row, you insert it. If there exists a recent current row and your new row is different , you:
Type 1: Update current row with new rows information.
TYpe 2: Insert the new row, and update current (now old) row with an end-effective date
Type 1-2: If certain columns are different, update the current row like a type 1, if other columns are different, do a type 2
Type 3: Shuffle the columns on the type 3 chain and update the current row
Your question doesn't make sense. What you do in dev stays in dev. Test is supposed to be a copy of production. If you're developing in dev and mess up the dev data, then the only starting copy you have is in test unless you do a full initial load again in dev.
I don't quite understand your points though. It sounds like if you mess up dev you should copy from test. But what happens in test if that is messed up? Updating a retiring row when inserting a new variant does change the data, don't you have to undo what's done in test to get back to the initial load? It sounds like you should consider doing an initial load in dev, copying it off someplace so that you can revert that back without relying on test.
Kenneth Bland
Rank: Sempai
Belt: First degree black
Fight name: Captain Hook
Signature knockout: right upper cut followed by left hook
Signature submission: Crucifix combined with leg triangle
Rank: Sempai
Belt: First degree black
Fight name: Captain Hook
Signature knockout: right upper cut followed by left hook
Signature submission: Crucifix combined with leg triangle
there is an excellent document given by craig which gives you everything about SCD.you can refer to this postkcbland wrote:I've been reading and answering a lot of your posts lately.
When doing an SCD, you transform a source row and compare it to the most recent existing row in your database. If there is no r ...
viewtopic.php?t=102232
which is posted on last firday.
RK