Пользовательский код SQL для пользовательского типа поля в миграции Django - PullRequest
2 голосов
/ 17 апреля 2019

Мой проект содержит большое количество таблиц с полями отметок времени created_at и updated_at, которые, соответственно, указывают на то, когда была создана строка, а последняя изменена.

Каждый раз, когда я создаюВ новую модель с этими полями я добавляю следующий оператор RunSQL к миграции:

migrations.RunSQL('CREATE TRIGGER some_trigger_name BEFORE UPDATE ON my_table FOR EACH ROW EXECUTE PROCEDURE update_modified_column()');

Большое количество операций с базами данных происходит вне Django, поэтому необходимо отслеживать это на уровне базы данных,в отличие от простого использования updated_at = models.DateTimeField(auto_now=True) при определении модели.

Можно ли создать пользовательский тип поля, который при запуске команды makemigrations автоматически генерирует этот оператор RunSQL?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...