我有一个用户模型,需要一个:地址列

问题描述 投票:0回答:1

我已经生成了迁移文件并添加了 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

有什么办法可以解决这个问题吗

ruby-on-rails database-migration ruby-on-rails-7 ruby-3
1个回答
0
投票

SQLite 不支持

after
add_column
选项,它是 MySQL 特有的。由于 SQLite 本身不支持列重新排序,如果列顺序至关重要,您将需要使用所需的列顺序重新创建表。

正如其他人在评论中提到的,表格中的列顺序在功能方面并不重要。因此,如果这只是出于美观原因,通常不值得付出努力进行更改。

© www.soinside.com 2019 - 2024. All rights reserved.