2011-02-01 234 views
0

我刚刚通过应用程序和db使用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

该迁移的输出显示drop_table :boards正在发生,但它未显示在您的迁移中。也许这是一个早期的迁移,试图删除boards表?

+0

完全和它似乎是旧的迁移ID CreateSavedBoards – Mike 2011-02-01 12:08:09