我对RoR很新鲜。当我更新数据库时,我感到非常困惑。我在我的数据库中添加了一些表,然后我想更新schema.rb,所以我使用rake db:schema:dump
。一切都很顺利。在上一个命令之后,我立即使用rake db:schema:load
,但是出现错误:
Mysql2::Error: Incorrect column specifier for column 'partition': CREATE TABLE `ab_test_result` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `model_id` int(11), `group_id` int(11), `kpi` varchar(255), `related_info` varchar(255), `category` varchar(255), `task_group_run_id` int(11), `timestamp` datetime, `partition` float(64), `actual_partition` float(64)) ENGINE=InnoDB
这是怎么发生的?我该怎么办?感谢。
答案 0 :(得分:0)
schema.rb由迁移处理。您不需要每次都进行转储 -
生成迁移:
rails generate migration foo_bar
您编写了迁移的代码,然后
rake db:migrate
如果迁移成功,则会更新schema.rb