在sqlite3中声明一个十进制(9,6)字段

时间:2013-07-27 08:27:52

标签: ruby-on-rails ruby sqlite ruby-on-rails-4

我正在尝试使用sqlite3在Ruby on rails项目中生成模型。 我需要在我的业务实体中为位置点声明2个字段,这是我的命令:

rails g model Business name:string category_id:integer lat:decimal(9,6) long:decimal(9,6)

但我一直收到这种语法错误:

-bash: syntax error near unexpected token `('

我正在使用:Rails 4.0.0 Ruby:2.0 数据库:sqlite3

任何人都可以帮我解决这个问题吗?! 谢谢:))

1 个答案:

答案 0 :(得分:2)

尝试{1.2}{1-2},如下所示:https://github.com/rails/rails/issues/4602

rails g model Business name:string category_id:integer lat:decimal{9.6} long:decimal{9.6}

生成:

class CreateBusinesses < ActiveRecord::Migration
  def change
    create_table :businesses do |t|
      t.string :name
      t.integer :category_id
      t.decimal :lat, :precision => 9, :scale => 6
      t.decimal :long, :precision => 9, :scale => 6

      t.timestamps
    end
  end
end