Вопрос

Я использую Padrino с DataMaapper, и я пытаюсь сделать миграцию для добавления ассоциации к модели. Например, я начинаю с этого:

class User
  include DataMapper::Resource

  property :id, Serial
  property :name, String
end

class Post
  include DataMapper::Resource

  property :id, Serial
  property :title, String
  property :body, Text
end

class Comment
  include DataMapper::Resource

  property :id, Serial
  property :name, String
end

И я заканчиваю со следующим:

class User
  include DataMapper::Resource

  property :id, Serial
  property :name, String

  has n, :posts
end

class Post
  include DataMapper::Resource

  property :id, Serial
  property :title, String
  property :body, Text

  belongs_to :user
  has n, :comment
end

class Comment
  include DataMapper::Resource

  property :id, Serial
  property :name, String

  belongs_to :post
end

У меня уже есть миграция для создания трех таблиц, но я не за добавление ассоциаций. Какой код будет для создания миграции для ассоциаций?

Это было полезно?

Решение

DataMapper.auto_uppgrade! добавит новые свойства FK

Другие советы

auto_upgrade приятно, но не позволит инкрементным шагом назад.

migration 3, :create_products do
  up do
    modify_table :post do
      add_column :user_id, Integer
    end
    modify_table :comment do
      add_column :post_id, Integer
    end
  end

  down do
    modify_table :post do
      drop_column :user_id, Integer
    end
    modify_table :comment do
      drop_column :post_id, Integer
    end
  end
end

Это оно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top