Обновление данных для нового добавленного столбца в базе данных, сначала код - PullRequest
0 голосов
/ 29 января 2020

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

Так что это будет применяться для старых пользователей, как это лучше всего сделать с точки зрения производительности и скорости, и у меня слишком много записей в этой таблице, это метод seed, который будет запускаться при запуске приложения, или как?

Ответы [ 2 ]

1 голос
/ 29 января 2020

Я думаю, что сценарий SQL был бы лучшим решением, вы запускаете его, и все готово.

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

0 голосов
/ 29 января 2020

1) Создайте миграцию с добавленным столбцом (вы должны пометить его как обнуляемый)

2) Создайте еще одну миграцию, в которой вы

заполните столбец любыми значениями, которые вы хотите .
Это можно сделать, добавив пользовательский оператор sql

Sql(@"UPDATE YourTableName set YourColumnName = insert logic here")

3) Создайте еще одну миграцию, изменив столбец как необнуляемый.

Вы можете добавить пользовательский оператор sql в конце первой миграции или в начале последней миграции.

...