Я начал изучать веб-разработки (особенно для Flask и Django), и везде, где я вижу, тема баз данных всегда начинается с миграции.Перемещение схемы в базе данных Production?
Из того, что я понял, для обновления баз данных следует
- запустить «что-то, чтобы произвести перенастройки сценария», чтобы создать миграционный скрипт, который будет Diff текущих моделей файла и текущая базы данных.
- Проверьте сценарий миграции в локальной базе данных.
- Зафиксируйте сценарий миграции, чтобы он достиг вашей рабочей среды, в которой снова запускается сценарий для обновления ваших производственных баз данных.
Но чтение Schema Migrations
в Википедии по этой ссылке Schema Migration я наткнулся на следующий текст:
миграции схемы, как правило, используется только тогда, когда данные, хранящиеся в базе данных не является реальным, ни ценным, например как и в разработке программного обеспечения, , где разработчики работают только с (возможно, сгенерированным) тестом . [править] Данные о миграции программных схем почти никогда не выполняются по той же причине.
В нем говорится, что следует избегать миграции в prodution, тогда как вы должны обновлять свои базы данных?
Очевидно, что автор ссылается только на автоматические изменения схемы, инициируемые фиксацией или развертыванием. Лучше отредактировать статью wikipedia, чтобы сделать это явным, а не удалять комментарий. Это не произвольное ограничение. –
Миграции программной базы данных происходят все время, то есть с помощью таких инструментов, как 'south',' alembic' и 'django migrate'. И это так, как должно быть, гораздо меньше возможностей для ошибок, чем с командами SQL с ручным кодированием. – reptilicus
@reptilicus пытается сделать миграцию схемы в таблице с миллиардами строк, в производственной базе данных без встроенной поддержки изменений в онлайновой схеме с использованием автоматизированного инструмента, такого как юг или алембик, без значительного простоев. –