-3

こんにちは、テーブルを作成する (そして既存のテーブルに列を追加する) 移行があります。

class CreateAdminModule < ActiveRecord::Migration
  def change
    create_table :admin_module do |t|
      t.decimal :no_of_devices_multiplier
      t.decimal :option_1_multiplier
      t.decimal :option_2_multiplier
      t.deciaml :option_3_multiplier
      t.decimal :option_4_multiplier
      t.decimal :option_5_multiplier

      t.timestamps
    end
  end

  add_column :admin_user_roles, :module_admin, :boolean
end

mysql2 gem を使用しています。移行を実行すると、次のようになります。

c:\Sites\site>rake db:migrate
-- add_column(:admin_user_roles, :module_admin, :boolean)
   -> 0.4726s
==  CreateAdminCirrus: migrating ==============================================
-- create_table(:admin_module)
rake aborted!
An error has occurred, all later migrations canceled:

undefined method 'deciaml' for #<ActiveRecord::ConnectionAdapters::TableDefinition:0x3c00a80>c:/Sites/site/db/migrate/
20130911082405_create_admin_module.rb:7:in 'block in change'
c:/Sites/site/db/migrate/20130911082405_create_admin_module.rb:3:in 'change'
C:in 'migrate'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

なぜこのエラーが発生するのか混乱しています。10進数が有効なデータ型であると確信していますか? 通貨を扱っているので、10 進数を使用しています。

4

1 に答える 1

2

行のスペルミス:

t.deciaml :option_3_multiplier

次のように変更します。

t.decimal :option_3_multiplier
于 2013-09-11T08:47:08.000 に答える