如何在 rails 迁移生成命令中指定精度和比例?

How to specify precision and scale in a rails migration generation command?

通过命令行生成迁移时,您可以指定要创建的字段类型。在小数的情况下,这将给出

rails generate migration AddAmountToOrder amount:decimal

这样你就可以为你的数据库获得一个带有小数列的迁移。但是你必须手动转到文件并像这样添加精度和比例值

t.decimal :amount  # generated, but...
t.decimal :amount, precision: 10, scale: 2  # ... wanted!

如何通过命令行提供这些值,以便您可以立即执行 rake db:migrate 而无需先向迁移文件添加精度和比例?

您可以在迁移生成器命令中指定 precisionscale,如下所示:

rails generate migration AddAmountToOrder amount:decimal{10.2}
#precision: 10, scale: 2