首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails迁移语法错误

Rails迁移语法错误
EN

Stack Overflow用户
提问于 2018-01-28 22:45:30
回答 1查看 93关注 0票数 0

当我尝试一个rake db:migrate时,我看到了这个错误

代码语言:javascript
复制
/db/migrate/20180124161533_a_dd_uid_to_appuser_and_response.rb:22: syntax error, unexpected '\n', expecting =>

但是,根据我所看到的,在迁移文件中没有看到任何新行:

代码语言:javascript
复制
class ADdUidToAppuserAndResponse < ActiveRecord::Migration

  disable_ddl_transaction!

  def change

    add_column :appusers, :archived, :boolean, algorithm: :concurrently, if !column_exists?(:appusers, :archived)
    add_column :responses, :archived, :boolean, algorithm: :concurrently, if !column_exists?(:responses, :archived)
    add_column :appuser_rewards, :archived, :boolean, algorithm: :concurrently, if !column_exists?(:appuser_rewards, :archived)

    add_column :appusers, :last_checked_campaigns_at, :datetime, algorithm: :concurrently, if !column_exists?(:appusers, :last_checked_campaigns_at)
    add_column :appusers, :last_checked_for_available_campaigns_at, :datetime, algorithm: :concurrently, if !column_exists?(:appusers, :last_checked_for_available_campaigns_at)    

    add_column :appusers, :uid, :uuid, default: 'uuid_generate_v4()', algorithm: :concurrently, if !column_exists?(:appusers, :uid)
    add_column :responses, :uid, :uuid, default: 'uuid_generate_v4()', algorithm: :concurrently, if !column_exists?(:responses, :uid)
    add_column :appuser_rewards, :uuid, :uuid, default: 'uuid_generate_v4()', algorithm: :concurrently, if !column_exists?(:appusers, :uuid)

    add_index :appusers, :uid, algorithm: :concurrently, where: "archived = false", if !index_exists?(:appusers, :uid)
    add_index :responses, :uid, algorithm: :concurrently, where: "archived = false", if !index_exists?(:responses, :uid)


  end
end

知道问题出在哪里吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-29 01:37:48

下面是如何修改代码的示例。只需删除所有行的,语句之前的if语句即可。例如,行:

代码语言:javascript
复制
add_column :appusers, :archived, :boolean, algorithm: :concurrently, if !column_exists?(:appusers, :archived)

应该是:

代码语言:javascript
复制
add_column :appusers, :archived, :boolean, algorithm: :concurrently if !column_exists?(:appusers, :archived)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48492180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档