我搜索了这个,但没有找到任何东西,所以这是我的问题:
如何在 rake 创建表语句中设置字符串和整数的长度?
示例 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 - 从终端创建迁移
运行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
,这将运行此代码并因此设置你的表。