【发布时间】:2017-08-28 22:39:14
【问题描述】:
在 Active Record 中,当我们处理迁移时,究竟是什么在移动?当我想到迁移时,我会想到从 A 点移动到 B 点的东西,比如英语中的常见含义。我无法看到我的研究中发生了什么。
【问题讨论】:
标签: ruby-on-rails ruby activerecord sinatra sinatra-activerecord
在 Active Record 中,当我们处理迁移时,究竟是什么在移动?当我想到迁移时,我会想到从 A 点移动到 B 点的东西,比如英语中的常见含义。我无法看到我的研究中发生了什么。
【问题讨论】:
标签: ruby-on-rails ruby activerecord sinatra sinatra-activerecord
数据库迁移上下文中的迁移是一个抽象概念,而不是“移动”数据。在数据库迁移中,我们将数据库概念化为处于状态 A 并“迁移”到状态 B。
例如,当我们向表中添加新字段时。状态A期间的表格是:
ID | Field1 | Field2
1 | foo | bar
2 | foo2 | bar2
当我们添加字段时,数据并没有真正被移动,但我们可以概念化数据是从上述状态A“移动”或“迁移”到B的新表状态:
ID | Field1 | Field2 | Field3
1 | foo | bar | nil
2 | foo2 | bar2 | nil
【讨论】: