Как Вы имеете дело с управлением конфигурацией Таблиц базы данных?

Пример объекта datetime, посвященного Django Timezone.

import datetime
from django.utils.timezone import get_current_timezone
tz = get_current_timezone()

format = '%b %d %Y %I:%M%p'
date_object = datetime.datetime.strptime('Jun 1 2005  1:33PM', format)
date_obj = tz.localize(date_object)

Это преобразование очень важно для Django и Python, когда у вас есть USE_TZ = True:

RuntimeWarning: DateTimeField MyModel.created received a naive datetime (2016-03-04 00:00:00) while time zone support is active.
5
задан Stimy 19 September 2008 в 20:16
поделиться

5 ответов

Можно автоматически создать первоначальный сценарий создания, но ИЗМЕНИТЬСЯ, сценарии действительно должны быть кодированы рукой в зависимости от конкретного случая, потому что на практике необходимо сделать пользовательский материал в них.

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

См. мою статью здесь:

http://marksverbiage.blogspot.com/2008/07/versioning-your-schema.html

1
ответ дан 14 December 2019 в 13:51
поделиться

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

Все наши таблицы и функции и сохраненный procs требуются, чтобы являться объектом управления исходным кодом также, таким образом, мы можем возвратиться к старым версиям в случае необходимости. Также наш dbas периодически delte что-либо, что они находят не в Управлении исходным кодом, так, чтобы помешал разработчикам забывать делать это.

Конечно, все скрипты разработки, способствовавшие производству, должны быть запущены на QA или сервере подготовки сначала, чтобы гарантировать, что сценарий будет работать правильно (и без требуемых изменений), прежде чем это будет выполнено на напоминании. Также синхронизацию работы напоминания нужно рассмотреть, Вы не хотите блокировать пользователей особенно в течение напряженных периодов, и время показало, что загрузка сценариев к производству поздно в пятницу днем является обычно плохой идеей.

2
ответ дан 14 December 2019 в 13:51
поделиться

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

Например, проверьте Менеджер изменений Причала и другие продукты, предлагаемые Embarcardero.

1
ответ дан 14 December 2019 в 13:51
поделиться

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

0
ответ дан 14 December 2019 в 13:51
поделиться

Это варьируется, в зависимости от того, как Вы хотите рассматривать существующие данные и насколько обширный изменения схемы, но даже в Studio управления перед фиксацией изменений можно генерировать сценарий всех изменений.

Для большого количества данных или где существуют ограничения или внешние ключи, даже простые, ИЗМЕНЯЮТСЯ, операции могут занять существенное количество времени.

0
ответ дан 14 December 2019 в 13:51
поделиться
Другие вопросы по тегам:

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