Tag: schema.rb

Rails:我更新迁移文件然后运行db:migrate,但我的架构没有更新

我正在尝试在我的一个表中添加一个额外的字段。 我在迁移文件中添加了该字段(在db \ migrate下),然后运行了’rake db:migrate’,它运行没有麻烦。 我的文本编辑器甚至告诉我我的schema.db文件已经更新,需要刷新。 模式文件不包含我的新字段,任何从我的视图引用该字段的尝试都会失败。 我该怎么做呢? 可以通过rails更新带有额外字段的表,而不必完全删除并重新创建数据库吗?

我应该展平Rails迁移吗?

可以将db / migrate / *替换为db / schema.rb的内容,这样您只需要一个迁移步骤。 你们有没有这样做过? 为什么?

如何使用rake db:migrate生成schema.rb时使用:sql架构格式

如果在config/application.rb使用此选项: config.active_record.schema_format = :sql 然后你做的时候: rake db:migrate 它只转储db/structure.sql 。 我知道它不使用db/schema.rb因为它使用的是:sql选项,但是如何使用rake db:migrate generate db/schema.rb呢? 我们需要它,因为RubyMine 4.5和IntelliJ IDea 11使用db/schema.rb来自动完成列。