rake:定义字符串和整数cols的长度

时间:2014-12-11 13:55:15

标签: mysql ruby-on-rails rails-migrations

我搜索了这个,但没找到任何东西,所以这就是我的问题:

如何在rake create table语句中设置字符串和整数的长度?

示例MySQL:

create table table (
  id int primary key auto_increment,
  string1 varchar(30) not null,
  string2 varchar(50) not null,
  int tinyint(3) not null default '0'
)

当我只需要存储较少量的字符时,我不想将所有这些列设置为varchar(255)或大整数。

http://guides.rubyonrails.org/migrations.html没有写任何关于此的内容:/

我该如何尝试?

1 个答案:

答案 0 :(得分:2)

要创建表,迁移是可行的方法。该文档做得很好how to set them up& configure them。这可能有点压倒性,所以这对你来说很重要:

1 - 从终端创建迁移

运行rails g migration create_foo_model,您将在 / db / migrations

中找到新文件

2 - 根据需要设置模型

对于您的情况,我添加了选项limit& default

class CreateFooModelMigration < ActiveRecord::Migration
  create_table :foo do |t|
    t.string :string1, :limit => 30
    t.string :string2, :limit => 50
    t.integer :int1, :limit => 3, :default => 0
  end
end

然后你应该运行rake db:migrate,它将运行此代码并因此设置你的表。