База данных SQLite для базы данных MySQL ежедневная миграция / обновление новых полей - PullRequest
2 голосов
/ 27 июня 2011

У меня есть база данных SQLite, которая создается путем чтения некоторых данных в файлах PDF с использованием Java.Каждый день (или почти) у меня есть новые файлы PDF для чтения, которые создают новые строки в некоторых таблицах в моей базе данных SQLite.

В конечном итоге я хотел бы сделать доступными данные в этой базе данных наИнтернет с использованием базы данных MySQL, доступ к которой осуществляется через мой сайтДело в том, что я искал в Google безрезультатно, как перенести мою базу данных в MySQL.Конечно, я нашел некоторые программы для этого, но они не позволяют мне делать это автоматически каждый день в полночь.

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

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

Компьютер, на котором запущена Java-программа для создания / обновления базы данных SQLite, работает под управлением Windows Vista, если это имеет значение.

1 Ответ

1 голос
/ 27 июня 2011

Вы можете включить временную метку в таблицу SQLite и установить значение по умолчанию для времени, когда была вставлена ​​запись (default now должно сработать).Затем вам понадобится таблица в вашей базе данных MySQL (или в вашей базе данных SQLite, в зависимости от того, что лучше для вас), которая будет содержать одну временную метку, это будет ваше «последнее импортированное время».

Когда наступит времячтобы выполнить передачу данных:

  • Захватить время последнего импорта.
  • Сохранить текущую метку времени в t .
  • Захватить всеиз вашей базы данных SQLite, которая новее t и скопируйте ее в базу данных MySQL.
  • Обновите время последнего импорта в вашей базе данных до t сверху.

Хранение метки времени, которую вы используете в t , поможет вам избежать чего-либо упущенного.

Если вы также обновляете вещи в своей базе данных SQLite, а непросто вставляя вещи, вы можете добавить еще одну метку времени для «последнего измененного времени».Затем примените ту же логику, что и выше, с «копией», замененной на «обновление» или «удаление и повторная вставка».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...