Ответы пользователя по тегу Миграция базы данных
  • Как правильно осуществить миграцию столбца даты из строки в формат datetime?

    @vsuhachev
    Вам нужно делать такую миграцию в 4 этапа:
    1. создаете колонку с типом datetime с временным имененм
    2. из колонки с типом string переносите данные в колонки с datetime
    3. удаляете колонку с типом string
    4. колонку с типом datetime переименовываете в нужное имя


    И относительно вашего кода по переносу данных - так делать не рекомендуется потому что во-первых это крайне медленно, во вторых миграция зависит от класса. Представьте, через некоторое время вы доработаете класс(например переименуете аттрибут query_date) и ваша миграция перестанет работать т.к. она рассчитывает на то что код класса Page не поменялся, а он поменялся.

    Для того чтобы миграции не зависели от кода классов и не отваливались со временем нужно писать их на SQL.

    execute('update pages set new_query_date = STR_TO_DATE(query_date)')
    Ответ написан