В настоящее время у меня есть таблица users
, содержащая client_id
(так, a User belongs_to :client
).Migrate Rails table from принадлежит_to to has_and_belongs_to_many
Нам необходимо поддерживать несколько клиентов, связанных с пользователем, поэтому мы внедрили ассоциацию User has_and_belongs_to_many :clients
. Для этого мы:
- создал новую
clients_users
таблицу, сuser_id
иclient_id
колонн; - удалено
client_id
изusers
.
Теперь, как мы можем автоматически создавать HABTM записи для каждого client_id
мы первоначально имели в users
таблице? Мы не хотим потерять данные.
Я не уверен, с чего начать с db:migrate
не должен включать в себя модели или ассоциации между ними, а выполнение необработанных запросов может оказаться сложным в моем случае.
Я не понимаю, как вы можете иметь откат центр. Вы делаете изменение, тогда «Пользователь» имеет 2 «Клиент» с идентификаторами 2 и 4. Как вы собираетесь перевернуть это обратно в own_to на пользователя? –
Изначально все пользователи, имеющие что-то в 'client_id', будут иметь только один связанный клиент HABTM. Почему у них есть 2 клиента? – linkyndy
Поскольку кто-то использовал систему и дал им 2, скажите через неделю, что вы хотите откат. Вы потеряете данные. –