【发布时间】:2011-09-22 03:13:05
【问题描述】:
在我最初的迁移中,我有这个:
create_table :credit_purchases do |t|
t.column :amount, :decimal, :precision => 8, :scale => 2, :null => false
t.column :time, :datetime, :null => false
end
这产生了以下 MySQL 表定义:
CREATE TABLE `credit_purchases` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`amount` decimal(8,2) NOT NULL,
`time` datetime NOT NULL,
PRIMARY KEY (`id`),
)
当我运行它时,它根本不会改变定义:
change_column :credit_purchases, :amount, :decimal, :precision => 8, :scale => 2
change_column :credit_purchases, :time, :datetime
我希望定义结果是:
CREATE TABLE `credit_purchases` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`amount` decimal(8,2) DEFAULT NULL,
`time` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
)
我必须做什么才能产生预期的结果?我想避免通过迁移定义数据库约束。
【问题讨论】:
标签: mysql ruby-on-rails database migration