Hi
I currently working on a project to resolve this. The requirement was
to diff the schema and data to generate a script to apply in an env
during release. We did many research and we end up using liquibase for
schema diff and maatkit for data diff. Maatkit is not prefect and only
specific for mysql. It also requires you to pick the right algorithm
(chuck, nibble, stream, groupby) for diffing. A wrong algorithm can
generate duplicate record. It requires many trail and error to get it
right.
On Jun 12, 2009, at 8:24 AM, "Voxland, Nathan" <[email protected]
> wrote:
The reason we don’t do data diffing currently is because if you are
trying to solve the problem in a general manner, you quickly run int
o many difficult problems (size of dataset, what really constitutes
a “different” cell value? How should you handle data that is the
same, but with different PKs?, How do you handle data that you expec
t to be different? etc.)
I have heard of people dong a text database dump, then just using a
regular text diff tool between the files. You may be able to use
liquibase’s generateChangeLog to get the data out in a standardized
and nicer-to-diff format. Depending on how your data is changing, t
here may be a poor signal-to-noise ratio.
I haven’t worked with content management systems like drupal much, b
ut I have recognized that tracking of data changes in them is a huge
problem. Does anyone else have any experience with them and have s
uggestions? Anything liquibase can do for that niche in particular?
Even if we do not support data diffs in general, it may be worth c
reating a drupal diff extension project in the upcoming (next 2 week
s) liquibase plug-in site.
Nathan
From: Romberg Christo [mailto:[email protected]]
Sent: Thursday, June 11, 2009 12:51 AM
To: [email protected]
Subject: [Liquibase-user] Diffing data
Hello!
On Controlling Checks (since 1.8) (http://www.liquibase.org/manual/diff
) it’s stated that not only can you diff the database structure, but
also the
data itself. However, later in that section it’s stated that the dif
fTypes command is only available when using generateChangeLog, not w
hen
using the diff or diffChangeLog commands.
Is there any way that you could get the data diffed as well (using
diffChangeLog)?
Since we’re developing in Drupal, where unconscious database changes
are a common phenomena, we would need a reliable database different
iating system.
If the diff cannot differentiate the data between the tables, I
guess the only solution left is 1) Up Front Design/Development, 2)
doing all the base work in one database,
3) using database dumps ? Any ideas on this?
Regards,
Christo
---
---
---
---------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Liquibase-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/liquibase-user
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Liquibase-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/liquibase-user