Ах, я думаю, что понимаю лучше. Я не могу ответить ни за какую специфическую корпоративную среду c, но я уверен, что существует множество различных систем, сочетающихся со всеми видами творческого шпагата пресс-подборщика, и вы можете получить самые разные ответы на этот вопрос.
Сейчас я работаю над проектом, в котором мы пытаемся обновлять данные между двумя системами. Поступающие данные импортируются в базу данных MySQL, и время от времени новые данные экспортируются в файл. sql. Каждая строка имеет автоматически увеличивающийся первичный ключ «id», поэтому мы очень просто отслеживаем последний экспортированный идентификатор и начинаем экспорт оттуда (используя mysqldump и аргумент --where
). Это довольно просто и не похоже на решение для предприятий, но оно подходит для наших нужд. Это позволяет избежать проблемы дублированных вставок.
Другим решением было бы экспортировать всю базу данных из вашей системы разработки, а затем с помощью ряда действий импортировать ее на рабочий сервер, полностью удаляя старую базу данных. Это может сильно зависеть от размера ваших данных и от того, сколько времени вы готовы выполнить. Эффективная и надежная реализация этого позволит импортировать в промежуточную базу данных (и убедиться, что проблем с импортом не было) перед перемещением таблиц в «правильную» базу данных.
Если вы просто ссылаетесь на изменения схемы или очень маленькие объемы данных, то, вероятно, лучше всего контролировать версию Это то, что я делаю для некоторых моих схем баз данных; в основном вы начинаете с базовой схемы, затем любое изменение записывается в виде сценария, который может выполняться постепенно. Так, например, в системе инвентаризации я мог изначально начать с таблицы клиентов с полями для ID и имени. Позже я добавил отдел маркетинга, и они хотят, чтобы я получил адреса электронной почты. 2-email.sql
будет такой строкой: ALTER TABLE `customer` ADD `email` VARCHAR(255) NOT NULL AFTER `name`;
. Еще позже, если я решу заняться доставкой, мне нужно будет добавить почтовые адреса, поэтому 3-address.sql
добавляет это в базу данных. Затем на другом конце я просто запускаю их через скрипт (бонусные баллы начисляются за использование MySQL logi c, например, «ЕСЛИ НЕ СУЩЕСТВУЕТ», чтобы скрипт мог запускаться столько раз, сколько необходимо без ошибок).
Наконец, вы можете выиграть от настройки системы репликации. Ваша промежуточная база данных автоматически отправит все изменения в рабочую базу данных. В зависимости от вашего процесса разработки, это может быть весьма полезно или может помешать вам.