Проблема переноса БД - PullRequest
       1

Проблема переноса БД

0 голосов
/ 01 февраля 2011

Я только что обновил приложение и базу данных, используя rake db:migrate. Тем не менее, я сталкиваюсь с ошибкой:

Migrating to CreateSavedBoards (20110111184104)
==  CreateSavedBoards: migrating ==============================================
-- drop_table(:boards)
  SQL (0.0ms)   Mysql::Error: Unknown table 'boards': DROP TABLE `boards`
rake aborted!
An error has occurred, all later migrations canceled:

Mysql::Error: Unknown table 'boards': DROP TABLE `boards`

(See full trace by running task with --trace)

Файл миграции, вызвавший ошибку?

class CreateBoardCategoriesSavedboards < ActiveRecord::Migration
  def self.up
    create_table :board_categories_boards, :id => false do |t|
      t.integer :board_category_id
      t.integer :board_id
    end

    add_index :board_categories_boards, [:board_category_id, :board_id], :name => "bcb_board_category_id_board_id"
  end

  def self.down
    drop_table :board_categories_boards
  end
end

Это модель для досок.

class Board < ActiveRecord::Base
  belongs_to :image, :foreign_key => 'image'
  belongs_to :clip, :foreign_key => 'clip'
  has_and_belongs_to_many :categories, :class_name => 'BoardCategory', :foreign_key => 'board_id'
  has_many :comments, :as => :commentable
  set_table_name "savedboards"
end

Я думаю, что ошибка происходит из-за того, что Rails считает, что существует таблица boards, потому что board_id в файле миграции выше.

Правильно ли я считаю, что это может привести к сбою миграции и что я могу с этим поделать?

1 Ответ

1 голос
/ 01 февраля 2011

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

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