forums › forums › SQLyog › Sync tools, Migration, Scheduled Backup and Notifications › Error in SJA (?)
- This topic is empty.
-
AuthorPosts
-
-
October 5, 2004 at 8:49 am #8596lion78atMember
Hello!
I think I found an error in SJA:
I have 2 mysql databases (with same scheme) which I have to synchronize: a local database and an online database.
In my databases a have a table “T_Report” with the columns “ReportID”, “Title”, “Content”, … and “Counter”.
New reports are added from me to the local database, old reports are updated from me in the local database. After data manipulation I synchronize the databases with SJA. The problem is that the column “Counter” mustn't synchronized, cause this column is updated in the online database via web-app and must synchronized from online => local.
Procedure:
1. Set the column “Counter” = 0 in local database (this is necessary only for new reports).
2. Synchronize only the column “Counter” from online to local database.
3. Synchronize the other columns (other than “Counter”) from local to online database.
=> Now the reports in both databases should be up to date and having counter-data from online database.
BUG:
If I have changed a report (e.g. I changed the column “Content”) in the local database than in step 2 not only the column “Counter” is synchronized, but also all other columns are updated from online to local database.
=> I lose all changes in the local database!
Is there a workaround? Will this problem be fixed in Verion 4.x?
Kind regards,
Bernhard
-
October 5, 2004 at 4:22 pm #16352lion78atMember
Hello!
I think I found a new BUG (in Version 4 BETA 3): “Don't delete extra row(s) in Target database” doesn't work. Extra rows will be always deleted!
Kind regards,
Bernhard
-
October 5, 2004 at 5:30 pm #16353RiteshMemberlion78at wrote on Oct 5 2004, 04:22 PM:Hello!
I think I found a new BUG (in Version 4 BETA 3): “Don't delete extra row(s) in Target database” doesn't work. Extra rows will be always deleted!
Kind regards,
Bernhard
I have forwarded this issue to my development team. Will revert back within 48 hours.
-
October 6, 2004 at 9:53 am #16354RiteshMemberlion78at wrote on Oct 5 2004, 08:49 AM:Hello!
I think I found an error in SJA:
I have 2 mysql databases (with same scheme) which I have to synchronize: a local database and an online database.
In my databases a have a table “T_Report” with the columns “ReportID”, “Title”, “Content”, … and “Counter”.
New reports are added from me to the local database, old reports are updated from me in the local database. After data manipulation I synchronize the databases with SJA. The problem is that the column “Counter” mustn't synchronized, cause this column is updated in the online database via web-app and must synchronized from online => local.
Procedure:
1. Set the column “Counter” = 0 in local database (this is necessary only for new reports).
2. Synchronize only the column “Counter” from online to local database.
3. Synchronize the other columns (other than “Counter”) from local to online database.
=> Now the reports in both databases should be up to date and having counter-data from online database.
BUG:
If I have changed a report (e.g. I changed the column “Content”) in the local database than in step 2 not only the column “Counter” is synchronized, but also all other columns are updated from online to local database.
=> I lose all changes in the local database!
Is there a workaround? Will this problem be fixed in Verion 4.x?
Kind regards,
Bernhard
Can you explain the problem with more details?
Sample data and schema file will be appreciated.
-
October 6, 2004 at 1:35 pm #16355lion78atMember
2 databases: localDB & onlineDB
table T_Report with columns ReportID (primary key), Content & Counter
the synchronization is configured as one-way-sync with source onlineDB & target localDB, don't delete extra rows & synchronize ONLY column Counter from table T_Report
data BEFORE sync:
localDB: data set with ReportID=1, Content=”value new”, Counter=0
onlineDB: data set with ReportID=1, Content=”value old”, Counter=10
data AFTER sync (ACTUAL VALUE):
localDB: data set with ReportID=1, Content=”value old” (!), Counter=10
onlineDB: data set with ReportID=1, Content=”value old”, Counter=10
data AFTER sync (RATED VALUE):
localDB: data set with ReportID=1, Content=”value new”, Counter=10
onlineDB: data set with ReportID=1, Content=”value old”, Counter=10
that means: the column Content is also changed/synchronized, although it should be NOT synchronized – ONLY the column Counter should be synchronized => BUG !!!
-
October 6, 2004 at 5:09 pm #16356RiteshMember
This behaviour is correct according to the design.
When you select specific columns, those columns are the ones which are used to *detect* changes – however if a change has been detected the entire row is updated.
Selecting specific columns would instruct SJA to sync the entire row only if there is a change in the selected columns.
The feature that you want is an interesting one and we can look at it later. Right now, we are approaching deep freeze of 4.0 code.
-
October 6, 2004 at 7:39 pm #16357lion78atMember
Ok, accepted 😀
Thanks for your answears!
Bernhard
-
October 7, 2004 at 5:48 am #16358RiteshMemberlion78at wrote on Oct 5 2004, 04:22 PM:Hello!
I think I found a new BUG (in Version 4 BETA 3): “Don't delete extra row(s) in Target database” doesn't work. Extra rows will be always deleted!
Kind regards,
Bernhard
The bug has been fixed in SQLyog 4.0 BETA 4. For more information please visit:
http://www.webyog.com/forums/index.php?act…f=2&t=977&st=0&
-
-
AuthorPosts
- You must be logged in to reply to this topic.