我在Rails中遇到了schema.rb的问题。如果我运行rake db:migrate
,则不同的数据库会产生不同的结果,确切地说,如果我使用PostgreSQL和一个文本字段,则会得到以下结果:
t.text "summary"
使用SQLite会出现一个问题,就是行的数量限制
t.text "summary", :limit => 255
此外,当我使用
:default
时,空格的数量会有所不同,这是在PostgreSQL中发生的:t.boolean "watched", :default => false, :null => false
SQLite:
t.boolean "watched", :default => false, :null => false
当我在生产环境下运行rake db:migrate
时,它会改变我的schema.rb文件,这很烦人。显然,在使用开发环境生成的schema.rb文件时,我不能在生产环境下使用rake db:schema:load
。我的问题是为什么会有差异,如何消除这些差异,使得生产和开发环境下的schema.rb文件相同?