gpt4 book ai didi

ruby-on-rails - 如何手动创建迁移文件 Rails 4

转载 作者:行者123 更新时间:2023-12-04 06:26:20 24 4
gpt4 key购买 nike

正如您将看到的,我对 Rails 还很陌生。

我正在尝试遵循 RailsGuides on Active Record Associations 中的第 3.3.2 节它说在定义多对多关系时,除了添加 has_and_belongs_to_many对模型的指令,您“需要显式创建连接表”。

然后给出迁移文件内容的示例:

class CreateAssembliesPartsJoinTable < ActiveRecord::Migration
def change
create_table :assemblies_parts, id: false do |t|
t.integer :assembly_id
t.integer :part_id
end
end
end

我的问题是:我应该给那个文件起什么名字?我看到 rails g ... 生成的文件命令都在 ..db\migrate文件夹并在文件的开头有一种时间戳。我可以用任何名字吗?我害怕测试并弄乱整个事情。我习惯了 MS-SQL 并且能够查看表、添加/修改列等。

附带问题:那里已经有一些文件,来自以前的迁移。 rails 如何知道哪些已经运行了?之后在部署到 Heroku 时运行它们呢?

最佳答案

您可以为迁移指定任何名称。最好是像 create_table_something 这样不言自明的东西。您可以通过执行生成迁移

rails generate migration create_assemblies_parts_joins_table

这将在 db/migrate 文件夹中生成一个如下所示的文件
<timestamp>_create_assemblies_parts_joins_table

Rails 在 scheme_migrations 中跟踪已经运行的迁移 table 。它存储所有已经运行的迁移的时间戳

更新:

您可以在迁移文件中将表名更改为您想要的任何名称。将使用您在以下行中指定的名称创建表
create_table :assemblies_parts, id: false do |t|
assemblies_parts将是表名。

关于ruby-on-rails - 如何手动创建迁移文件 Rails 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23924981/

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