Tôi đang sử dụng Jruby và đường ray 2.2.2. Vấn đề của tôi là tôi có một di chuyển không được viết chính xác vào lược đồ cơ sở dữ liệu.Vấn đề tạo lược đồ Rails
Đây là di cư của tôi:
class CreateNotes < ActiveRecord::Migration
def self.up
create_table(:notes, :options => 'ENGINE=MyISAM') do |t|
t.string :title
t.text :body
t.timestamps
end
execute "alter table notes ADD FULLTEXT(title, body)"
end
Đây là những gì nó tạo ra trong schema.rb
create_table "notes", :force => true do |t|
t.string "title"
t.text "body"
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "notes", ["title", "body"], :name => "title"
Tôi có hai câu hỏi:
- Làm thế nào để tôi nhận được
'ENGINE=MyISAM'
vào lược đồ? - Tại sao tuyên bố thực thi của tôi trở thành
add_index "notes", ["title", "body"], :name => "title"
? và làm cách nào để buộc di chuyển rời khỏi nó dưới dạng tuyên bố thực thi?
Cảm ơn Christian Lescuyer đã trả lời. Tuy nhiên, khi tôi cố gắng này không có gì thay đổi. Tôi uncommented dòng config.active_record ... nhưng, lược đồ của tôi đã không thay đổi. Tôi đã thử điều này trong jruby và trên ruby 1.8.6 với đường ray 2.2.2 và đường ray cạnh và không có thay đổi trong lược đồ. Ai có thể cho tôi biết tôi đang làm gì sai?
Bạn có xóa schema.rb không? Bạn sẽ nhận được một tập tin .sql thay vào đó, nhưng tôi nghĩ rằng schema.rb cũ vẫn nằm xung quanh. –