开发实战:产品管理系统的迭代优化
1. 新增缺失列
在开发过程中,当点击“Create”按钮后,新的产品会成功创建。点击“Back”链接,能在列表中看到新创建的产品。虽然界面可能不够美观,但它能正常工作,可展示给客户以获取批准。客户在使用一段时间后,可能会发现产品缺少价格信息,这就意味着需要在数据库表中添加一个新列。
1.1 手动添加列与使用迁移的对比
部分开发者或数据库管理员可能会通过启动实用程序并执行类似以下命令来添加列:
alter table products add column price decimal(8,2);
不过,使用迁移来添加新列会带来版本控制的数据库架构历史记录,并且能更方便地重新创建架构。
1.2 创建迁移文件
使用以下命令创建迁移文件:
depot> ruby script/generate migration add_price_to_product price:decimal
生成的文件名为 db/migrate/20080601000002_add_price_to_product.rb
,文件名包含基于 UTC 的时间戳前缀(格式为 YYYYMMDDhhmmss),Rails 利用这个时间戳来跟踪哪些迁移已应用到架构中以及应用的顺序。
1.3 编辑迁移文件
打开迁移源文件,编辑