Описание тега rails-migrations

Миграции Rails используются для обратимого отслеживания и применения изменений базы данных.
1 ответ

Rails - миграция таблицы (с данными), чтобы иметь UUID вместо ID

У меня есть Project модель, которая имеет иждивенцев, и уже есть записи в БД. я хочу измениться Project.id (это первичный ключ), чтобы быть UUID, а не просто возрастающим целым числом. Как мне написать миграцию, которая изменит идентификатор, обнови…
4 ответа

Rails Migration с добавлением и удалением ссылки

После создания файла миграции с rails generate migration AddClientToUser Я могу отредактировать мой файл миграции следующим образом: class AddClientToUser < ActiveRecord::Migration def self.up change_table :users do |t| t.references :client end e…
13 апр '11 в 12:12
1 ответ

Можно ли запретить "ноль" для одной из двух переменных на уровне миграции?

Author принадлежит либо к статье, либо к книге, и никогда к обоим. В файле миграции для автора у меня есть: t.references :article, index: true t.references :book, index: true В файле модели: validate :article_or_book_id def article_or_book_id if art…
2 ответа

Смоделируйте вилку в ActiveRecord

Как выглядят ActiveRecord::Migration и ActiveRecord::Base для класса, который ссылается на себя. Я моделирую объект, который "разветвляется" на существующую запись и сохраняет это отношение в поле:source. Это поле:source будет содержать primary_key:…
3 ответа

Rails ActiveRecord реализует отношения

Помогите мне с миграцией базы данных и моделью в Rails, я попытался найти самореференции, а что нет, но я не могу делать головы или хвосты... Я застрял, так сказать... В основном я хочу две модели, модель пользователя и модель правила. В модели User…
3 ответа

NoMethodError: неопределенный метод `value_for_database'для #<Array> (Rails 5)

У меня есть (совершенно новый) проект Rails 5, который выдает ошибки при попытке запустить миграцию. (Я запускаю Ruby 2.2.4 на Raspberry Pi с использованием PostgreSQL 9.4, но то же сообщение об ошибке выскочило, когда я впервые попробовал запустить…
15 сен '16 в 09:34
1 ответ

Создание Join-таблицы с индексами в Rails

Когда я хочу создать таблицу соединений, то я читаю из rubyguides, что я могу установить индекс напрямую следующим образом: create_join_table :products, :suppliers do |t| t.index [:product_id, :supplier_id] t.index [:supplier_id, :product_id] end Но…
07 ноя '15 в 21:33
2 ответа

Как получить SQL-скрипт изменений от Rails-миграций (для MySQL)?

Я видел http://github.com/muness/migration_sql_generator, но он не работает должным образом с MySQL для некоторых важных операций. Есть ли другой способ, которым мы можем захватить sql, сгенерированный во время миграции рельсов? Причина, по которой …
1 ответ

Создание (удаление) нескольких таблиц в одной миграции

Можно ли создать (self.up) несколько таблиц в одном рельсе за три миграции. Если это возможно, каков обычный подход к использованию такого подхода. Что-то подсказывает мне, что было бы лучше сохранить одну таблицу на одну миграцию, но я просто подум…
09 июл '11 в 17:03
1 ответ

Ошибка приложения Rails после миграции, которая не должна на него влиять

Я пытаюсь отладить проблему, которая недавно появилась в моем приложении Rails (3.0.9), когда экземпляры приложения необходимо перезапускать (не повторно развертывать), когда в базе данных выполняется непрерывная миграция. Такого раньше не было, и я…
1 ответ

Ruby on Rails добавление еще одного индекса через миграцию приводит к превышению в 64 символа

Я хочу добавить еще один столбец индекса в мою таблицу индексов, но получить индекс для таблицы слишком долго; ограничение составляет 64 символа. Rails 3 и MySQL DB, кстати. Текущая схема выглядит следующим образом: create_table "admin_users_project…
4 ответа

Rails 4. Переносим идентификатор таблицы в UUID

У меня есть таблица:db / migrate / 20140731201801_create_voc_brands.rb: class CreateVocBrands &lt; ActiveRecord::Migration def change create_table :voc_brands do |t| t.string :name t.timestamps end end end Но мне нужно изменить таблицу на эту (если …
05 сен '14 в 08:27
1 ответ

Как отменить ограничение уникального индекса Postgresql при миграции рельсов?

Я создал уникальный индекс для моей модели следующим образом: add_index(:courses, :name, unique: true) Мне больше не нужно, чтобы имя было уникальным. Я думаю, что у меня та же проблема, что и у этого человека, поэтому я работал над этими предложени…
13 окт '15 в 07:30
1 ответ

Rails и MySQL: неправильная интерпретация логических значений

Я использую Rails 5.0 с MySQL в качестве базы данных. У меня есть существующая таблица "пользователи", в которой я храню информацию о том, любит ли пользователь готовить в столбце "likes_to_cook". Rails интерпретирует этот столбец как логическое, и …
14 мар '17 в 16:44
1 ответ

Как массово назначить защищенные атрибуты в миграции без изменения модели

Я использую Rails 3.2 Существует ли специальная команда для назначения защищенного атрибута в процессе миграции без изменения модели с помощью оператора attr_accessible. У меня есть атрибут "pub_convention_id", который должен оставаться защищенным в…
0 ответов

Rails db:migrate не будет работать на определенном модельном классе

Я использую ruby ​​на рельсах для класса и должен был сделать модельный класс, который содержал бы имя, пол, возраст и домашнюю страницу. Я запускаю команду rails db:migrate, ничего не происходит josephs-mbp:Soccer jmurphy$ rails db:migrate josephs-…
1 ответ

Как сгенерировать миграцию для изменения столбца базы данных в Rails

Интересно, есть ли способ генерировать миграции, которые изменяют что-то таким же образом, как и для создания таблиц, добавления или удаления столбцов. Например, для создания таблицы я бы использовал: rails generate migration CreateProducts name:str…
1 ответ

Имя индекса слишком длинное - Rails 3

Я пытаюсь запустить эту миграцию: class RemoveClientFromSalesteam &lt; ActiveRecord::Migration change_table :sales_teams do |t| t.remove :client_id end end Это ошибка, которую я получаю: rake db:migrate -- change_table(:sales_teams) rake aborted! An…
1 ответ

Rails ActiveRecord Миграция ArgumentError

У меня проблема во время бега rake db:migrate создать новую таблицу (файл миграции, сгенерированный rails g model). class CreateReminderLogs &lt; ActiveRecord::Migration def change create_table :reminder_logs do |t| t.string :remindable_type t.integ…
4 ответа

Миграция Rails + Postgres - почему я получаю сообщение об ошибке "PG::UndefinedFunction: ERROR: функция gen_random_uuid() не существует"?

Одна из моих миграций на Rails использует uuid в качестве первичного ключа. Расширение Postgres gen_random_uuid() должен решить эту проблему, но я продолжаю получать ошибку после установки соответствующего расширения (uuid-ossp).