提问人:Abhishek Tanwar 提问时间:11/8/2023 最后编辑:zaphodbln_Abhishek Tanwar 更新时间:11/16/2023 访问量:64
在 Rails 迁移中使用 “after” 没有任何效果
Using "after" does not have any effect in a Rails Migration
问:
我已经生成了迁移文件并添加了 t.string :address。在'''rails db:migrate'''之前,我添加了以下行-
add_column :users, :address, :string, limit: 10, after: :email
但它是最后添加到桌子上的
t.datetime "updated_at", null: false
t.string "address", limit: 10
预期为
t.string "email"
t.string "address", limit: 10
有什么办法可以解决这个问题
答:
0赞
James Hibbard
11/9/2023
#1
SQLite不支持该选项,它是特定于MySQL的。由于SQLite本身不支持对列进行重新排序,因此如果列顺序至关重要,则需要使用所需的列顺序重新创建表。after
add_column
正如其他人在评论中提到的,就功能而言,表中的列顺序并不重要。因此,如果这只是出于审美原因,通常不值得付出努力进行更改。
评论