2013-12-10 115 views
1

早安男士。混乱的轨道模型和迁移

我真的需要你的帮助。有谁能给我一个关于模型和迁移之间关系的解释。 我还是不明白。或者可能是你可以给我一个好文章的链接。

非常感谢您 ,我很抱歉,我的英语

+0

这里你去: http://guides.rubyonrails.org/migrations.html –

回答

2

让我们先了解一下Active RecordsHere是很好的解释。

Rails Active Records提供了关系数据库中的表与处理数据库记录的Ruby程序代码之间的接口和绑定。实际上这个活动记录文件是指模型!

而Rails Migration允许您使用Ruby来定义对数据库模式的更改,从而可以使用版本控制系统使事物与实际代码保持同步。 了解更多here.

这很简单而有趣,对吗? :)

+0

谢谢你rony36。让我再问一个问题。如果我运行这个命令“rails generate model Product”,它会创建Products表,不是吗? 如果我运行这个命令“rails generate migration CreateProducts”它会创建一个名为Product的模型吗? –

+0

不,当你运行'rails generate model Product'时,它会生成一个模型和一个迁移文件。在这个迁移文件中,您需要定义Products表。然后如果你运行'rake db:migrate',它会生成“Products”表。除了rails生成迁移CreateProducts'只创建迁移文件。 – rony36

+0

谢谢你rony36。这真的很愚蠢的问题?如果我们只运行“rails generate migration”命令而不运行“rails generate Model”命令,那么它是否正常? –

1

模型是类代表你的对象(人,运动,用户等) 的迁移是一个文件包含的说明该模型的数据库表。 当你执行rake db:migrate它会采用迁移文件并生成数据库表。 这guide是有点长,但你有所有需要知道。

1

该模型可以被看作一个普通的旧关系数据库。为了创建这样的数据库,您必须创建一个迁移文件,以指定要创建的表名和表列。要实际使更改生效,您必须运行rails迁移。有时迁徙会非常有益。您可以回滚您所做的更改以撤销它们。在迁移过程中,您应该指定如何撤消更改(除非使用更改方法,但不能用于所有内容)。

+0

可能更好地推断模型基本上是一个数据库表中的基础记录结构的表示。可以修改该表示(不表示记录),以将各种扩展方法添加到模型中,而不更改或影响底层数据存储。 – railsdog