Обеспечение видимости периодических изменений в базе данных

#python #filemaker

#python #filemaker

Вопрос:

Это довольно общий вопрос, хотя я приведу конкретный вариант использования для контекста.

Я использую базу данных FileMaker Pro для записи личных наблюдений за птицами. Для каждой птицы в национальном списке я извлек довольно много базовых данных путем очистки веб-сайта на Python, например, статус сохранения, географический ареал, научное название и так далее. При повседневном использовании базы данных эти базовые данные остаются фиксированными и неизменными. Однако примерно раз в год я захочу повторно очистить базовые данные, чтобы получить самую последнюю опубликованную информацию о статусе, диапазоне и даже изменениях в научном названии (это случается).

Я знаю, что есть такие опции, как PyFilemaker или bBox, которые должны позволить мне записывать в базу данных FileMaker из Python, поэтому сам механизм обновления не должен быть проблемой.

Было бы довольно опасно просто перезаписывать все прошлогодние базовые данные новыми очищенными данными, и я ищу общие рекомендации относительно того, как лучше всего обеспечить видимость изменений, прежде чем импортировать их вручную. Я имею в виду использовать pandas для создания электронной таблицы с использованием базовых данных и выделения измененных ячеек. Звучит ли это разумно? Я подозреваю, что это может быть очень стандартным требованием, и если кто-нибудь может помочь с комментариями по подходу, который легко реализовать на Python, это было бы очень полезно.

Ответ №1:

Это не стандартное требование, и простого способа сделать это нет. Лучший способ отслеживать изменения — это система управления версиями, такая как git, но она неприменима к FileMaker Pro, поскольку файлы являются двоичными.

Вы можете попробовать свой подход, или вы можете попробовать добавить новые записи в FileMaker вместо их обновления и пометить их как текущие или использовать только последнюю запись

Здесь есть несколько замечательных парней, но вы можете обратиться к одному из форумов FileMaker, поскольку аудитория FileMaker там намного больше, чем в SO

Комментарии:

1. Когда я говорю, что это не стандартно, я имею в виду, что никакие другие базы данных этого не делают. Любая база данных SQL, если вы обновляете запись, исчезает, и единственный способ увидеть исторические данные — восстановить их из резервной копии — именно то, что делает FileMaker.

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