gpt4 book ai didi

mysql - Rails 迁移创建表主键

转载 作者:IT老高 更新时间:2023-10-29 00:01:48 26 4
gpt4 key购买 nike

我正在编写一个迁移脚本来创建一个表,该表的主键列名为 guid 并且是一个 VARCHAR(25)。问题是我觉得我必须加倍努力才能一步到位地实现目标。

如果我运行:

create_table(:global_feeds, :primary_key => 'guid') do |t|
t.string :guid, :limit => 25
t.text :title
t.text :subtitle

...

t.timestamps
end

我得到一个表,其中有一个名为 guid 的主键,没有名为 id 的列(这是我想要的)。但是,问题是 guid 列是一个启用了自动递增的 INT(11)。所以我必须运行一个额外的命令:

change_column :global_feeds, :guid, :string, :limit => 25

基本上必须运行两个 SQL 命令才能获得我认为应该可以在一个命令中实现的功能,这似乎有点令人费解。

关于如何优化它有什么建议吗?

最佳答案

在 Rails 4 中你可以做到;

create_table :global_feeds, id: false do |t|
t.string :guid, primary_key: true
...
end

关于mysql - Rails 迁移创建表主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4769725/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com