как скопировать все данные таблицы в новую таблицу в рельсах - PullRequest
0 голосов
/ 27 марта 2011

Я использую MySQL у меня есть одна таблица x, соответствующая mvc, и таблица y, соответствующая только модели. когда я выбираю уничтожить в представлении х, он должен выполнить две задачи. Во-первых, уничтожьте id из таблицы x и сохраните все данные, начиная с id ...., в таблицу y Пожалуйста, объясните мне, какие отношения я должен установить и как это сделать. Я пробовал много кода, связанного с этим, но я потерпел неудачу, из-за отсутствия глубоких знаний о ruby ​​на рельсах. Пожалуйста, помогите

Ответы [ 4 ]

2 голосов
/ 27 марта 2011

Взгляните на acts_as_archive . Это делает то, о чем я думаю, что вы просите здесь.

Редактировать:

  1. Не используйте Rails 2.3.5. Обновитесь до 2.3.11 или переключитесь на Rails 3, что вы могли бы сделать, так как вы сказали ты все равно только учился.
  2. Для версии gem просто следуйте acts_as_archive инструкции и используйте любую последнюю версию.
  3. Относительно того, где его поставить, вы следует прочитать о Bundler . платить особое внимание к разделу эта страница называется «Использование Bundler с Каркасы ". Чтение рельсов учебник тоже не повредит, я подозреваемый.
1 голос
/ 27 марта 2011

Можно ли использовать триггер в базе данных? Является ли архив чем-то для вас, разработчика, или необходимо иметь доступ к архивной информации из приложения?

Если вам нужны данные из кода, обратитесь к опубликованному решению @ jdl.

0 голосов
/ 03 августа 2011

Я сделал это, выбрав каждый элемент из таблицы x и вставив его в столбец y.чем уничтожить команду.

0 голосов
/ 27 марта 2011

Id является первичным ключом и поддерживается рельсами, поэтому вы не можете удалить его из строки в БД. Есть некоторые обходные пути, чтобы пропустить это, но это не хорошие способы сделать такие вещи

решение вашей проблемы: вы можете удалить полную запись из таблицы x и добавить ее запись в другую таблицу, также идентификатор не может быть таким же, как удаленный объект, поэтому вы можете добавить столбец с именем x_id в таблицу для его хранения.

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