Я пишу инструмент для обновления моих таблиц больших запросов, чтобы они отражали мои локально определенные схемы. Допустим, я обновляю таблицу users
. Для этого необходимо выполнить следующие шаги:
Создать новую таблицу с новой схемой, которая называется users_update
.
Создать SELECT
запрос, в котором приводятся значения (например, TIMESTAMP в DATETIME) и добавляются новые столбцы (например, CURRENT_TIMESTAMP() as date_updated
)
Запустите QueryJob (python), чтобы выполнить запрос с новой таблицей в качестве пункта назначения.
Удалить таблицу users
Скопировать users_update
в users
Удалить таблицу users_update
Проблема состоит в том, что этот запрос преобразует каждое поле в новой таблице в NULLABLE
. Я прошел через мой скрипт и убедился, что в новой таблице есть правильные режимы перед QueryJob. Я также предоставляю новую схему (с правильными режимами) для QueryJob.
Есть ли какие-то параметры для QueryJob, которые мне нужно установить, или чего мне здесь не хватает?