I've never looked at replication before, though I thought I understood the basic principles. I've recently started with a new employer and I've been informed today that I can't use functions like NOW() because we have replicated servers and the timestamps may not match between servers.
I honestly thought that replication would be a bit more advanced than this and as a result I have to recode some of my recent work that is yet to be deployed.
My question is whether it's really this clear-cut, and whether I should start coding to suit, in case anything that isn't currently replicated requires it at a later time.
One example would be that I have just written a stored procedure to tidy up parts of our database. It has to process records that are over 30 days, so I used DATE_SUB(CURDATE(), INTERVAL 30 DAY) to identify the date 30 days ago. I have had to change the SP to just accept a date and must calculate this date (and sometimes DATETIME) now in my PHP (or whatever I'm using to call the SP) and pass it as a parameter. Must I do this every time? Does replication really have such a blatant downside, or is using NOW(), CURDATE() etc lazy coding?