Имах постоянни проблеми с мигрирането на база данни в rails чрез rake db:migrate.
Моята миграция в момента изглежда така:
class CreateArticles < ActiveRecord::Migration
def change
create_table :articles do |t|
t.string :title
t.text :subtitle
t.string :slug
t.text :body
t.integer :publish, limit: 1, default: 0
t.timestamps
end
end
end
Ако обаче някога изтрия колона от това или дори добавя или модифицирам такава, командата rake db:migrate не прави нищо. Единственият начин, по който мога да го мигрирам, е понякога да стартирам нещо като:
rake db:migrate VERSION=20080906120000
Но дори това е темпераментно, така че през повечето време трябва да нулирам db с помощта на
db:drop
db:create
след това стартирайте миграцията отново както обикновено. основно db:migrate работи само за първи път след премахване и създаване на db.
Също така опитах връщане назад, преди да стартирам миграцията.
Това далеч не е идеално, така че ще се радвам на всяка помощ.
(Осъзнавам, че има подобни въпроси, но всичките им проблеми се решават след нулиране на db)