Господа, тут решил продолжить изучение рельс, и рельсы ведут на путь миграций.
Соответственно задача: написать классы для миграции и поднять из них базу.
Делаю три таблички, сгенерив шаблоны командами generate migration <users>
Всего три файла: 001_users.rb, 002_visits.rb, 003_links.rb.
Названия такие дал им generate.
Вот такие файлы:
class Users < ActiveRecord::Migration
def self.up
create table users do |t|
t.string :name, :limit => 250
t.string :password, :limit => 100
t.timestamps
end
end
def self.down
drop_table :users
end
end
class Visits < ActiveRecord::Migration
def self.up
create_table :visits do |t|
t.timestamp :stamp
t.references :user
end
end
def self.down
drop_table :visits
end
end
class Links < ActiveRecord::Migration
def self.up
create_table :links do |t|
t.string :url, :limit => 250
t.timestamps
t.references :user
end
end
def self.down
drop_table :links
end
end
database.yml:
development:
adapter: mysql
database: taut
host: localhost
username: train2
password: zaq
test:
adapter: mysql
database: taut_test
host: localhost
username: root
production:
adapter: mysql
database: taut_prod
host: localhost
username: root
запускаю rake db:migrate в каталоге проекта.
Что получается: на базе taut создается только табличка links. Другие две базы остаются пустыми.
генерится файл schema.rb следующего содержания:
ActiveRecord::Schema.define(:version => 3) do
create_table "links", :force => true do |t|
t.string "url", :limit => 250
t.datetime "created_at"
t.datetime "updated_at"
end
end
Я подозреваю, что проблема с версиями и префиксом имен файлов. Переименовал все в 003_*, получаю ошибку.
Скажите пожалуйста, где я неправ?
Спасибо...
Я весьма доверчив, когда речь идет о моих словах. Я верю всему, что
говорю, хотя и знаю, что я лжец.