我搜索了这个,但没找到任何东西,所以这就是我的问题:
如何在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没有写任何关于此的内容:/
我该如何尝试?
答案 0 :(得分:2)
要创建表,迁移是可行的方法。该文档做得很好how to set them up& configure them。这可能有点压倒性,所以这对你来说很重要:
运行rails g migration create_foo_model
,您将在 / db / migrations
对于您的情况,我添加了选项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
,它将运行此代码并因此设置你的表。