DataMapper Association Migrations
-
09-10-2019 - |
Question
J'utilise Padrino avec DataMapper, et je suis en train de faire une migration pour ajouter une association à un modèle. Par exemple, je commence par ceci:
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
Et je termine par ce qui suit:
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
J'ai déjà la migration pour créer les trois tables, mais je ne le font pas pour ajouter les associations. Qu'est-ce que le code soit pour la création de la migration pour les associations?
La solution
DataMapper.auto_upgrade! ajoutera de nouvelles propriétés FK
Autres conseils
auto_upgrade est agréable, mais ne permettra pas à pas en arrière supplémentaire.
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
c'est tout.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow