• Andreas Kusalananda Kähäri's avatar
    Run the program with --help to get information about available command · bd06d745
    Andreas Kusalananda Kähäri authored
    line switches.
    This program takes the master tables from the production database
    and compares it to the corresponding tables on the given servers (by
    default, the staging servers).
    The program will display any discrepancies on the display
    while writing SQL to files in the current directory that will
    correct the discrepancies.
    Each SQL patch file will have the generic name "fix-DBNAME.sql"
    where "DBNAME" is the name of the database, e.g.,
    A discrepancy is patched by
    1)  Insertion into the master table in the production database in the
        case where a new entry has been added to a database without being
        added to the master table.
    2)  Insertion into the database table in the case where a new master
        entry is missing in the database.
    3)  Updating the database entry in the case where an entry (identified by
        its primary key only) differs in any of its fields.
    The SQL patch files may then be used to patch the databases:
      $ mysql -h server -u user -ppass < fix-DBNAME.sql
                            (along with the program output)
                                WITH YOUR EYE AND BRAIN
                                  BEFORE APPLYING THEM
push_master_tables.pl 10.5 KB