Синхронизировать локальную базу данных и базу данных живого сайта

В C ++ существует два типа операторов scope resolution - унарная область действия и область класса. Не существует области действия функции или оператора «любой конкретной родительской области». Это делает невозможным решение вашей проблемы, как и вообще, потому что вы не можете ссылаться на анонимные области. Однако вы можете либо создать псевдоним, переименовать переменные, либо сделать это частью класса, что, конечно же, подразумевает изменение кода. Это самое близкое, что я могу получить без переименования в этом конкретном случае:

#include 

using namespace std;

int v = 1; // global

class Program
{
    static int v; // local

public:
    static int main ()
    {
        int v = 3; // within subscope
        cout << "subscope: " << v << endl;
        cout << "local: " << Program::v << endl; 
        cout << "global: " << ::v << endl;
    }
};

int Program::v = 2;

int main ()
{
    return Program::main ();
}

Существуют и другие способы, например, убедиться, что переменные не оптимизированы и находятся в стеке, тогда вы можете работать со стеком чтобы получить значение переменной, которую вы хотите, но давайте не будем этого делать.

Надеюсь, что это поможет!

0
задан Naveed Ramzan 27 February 2019 в 21:15
поделиться

1 ответ

Если вы не хотите настраивать схему репликации, почему бы просто не использовать (2 или 3) задания cron, дамп local / dump remote / update remote с локальным дампом. И нет, это не лучший способ сделать это, но это работает ...

С помощью just (2) выведите дамп local / update remote с помощью локального дампа, запускайте ежедневно @ 1:00 AM dump и!: 15AM update

0 1 * * * mysqldump --host="localhost" --user="user" --password="password" database_name > backup_name.sql

15 1 * * * mysql --host="remote_host" --user="user" --password="password" --port="3306" database_name < backup_name.sql
0
ответ дан Stephanie Temple 27 February 2019 в 21:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: