当前位置: 首页 > 知识库问答 >
问题:

迁移复制错误

庞书
2023-03-14

我的错误

    create_table :tags do |t|
        t.string            :name
        t.integer           :taggings_count, default: 0
    end
    add_index :tags, :name, unique: true


    create_table :taggings do |t|
        t.references        :tag
        t.references        :taggable,      polymorphic: true
        t.references        :tagger,        polymorphic: true
        t.string                :context,       limit: 128
        t.datetime          :created_at
    end
    add_index :taggings, [ :tag_id, :taggable_id, :taggable_type, :context, :tagger_id, :tagger_type ],
        unique: true, name: 'taggings_idx'

end
create_table :tags do |t|
  t.string :name
end

create_table :taggings do |t|
  t.references :tag

  # You should make sure that the column created is
  # long enough to store the required class names.
  t.references :taggable, polymorphic: true
  t.references :tagger, polymorphic: true

  Limit is created to prevent MySQL error on index
  # length for MyISAM table type: http://bit.ly/vgW2Ql
  t.string :context, limit: 128

  t.datetime :created_at
end

add_index :taggings, :tag_id
add_index :taggings, [:taggable_id, :taggable_type, :context]

我想知道做这次迁移的人打算做什么。

共有1个答案

赫连秦迟
2023-03-14

这不可能是有意为之,因为这是不行的。如您所见,您不能创建一个表两次。您应该删除其中的一个迁移,可能会将您删除的一个迁移合并到另一个迁移中。

唯一的区别是taggings_count字段和索引。这里没有足够的内容来说明您是否需要taggings_count,或者哪个是更好的索引。如果让我猜的话,我会说第一个指数试图创建一个覆盖指数,这是值得的。

 类似资料:
  • 我买了新的MacBook Pro,我在其中安装了mysql,然后安装sequel Pro来查看表和数据库,但是当我命令时,这个错误指控错误图像 近30个小时来,我一直在忍受这个问题,有人能帮我看一下吗

  • 我用试用密钥尝试了State/BaselineMigration功能。https://flywaydb.org/documentation/concepts/baselinemigrationsFlyWay迁移执行脚本并正确移动到正确的版本。但在此基础上运行的所有迁移都失败了 从S开始2__xxx.sql然后它在版本2的模式表中创建一行并键入"SQL_STATE_SCRIPT" 再次执行flywa

  • 我将我的数据库后端从sqlite3更改为PostGRE。当我尝试运行迁移时,我有一个错误 要执行的操作:同步未迁移的应用程序:messages、avtofarm、smart_selects、staticfiles、thumbnail应用所有迁移:contenttypes、admin、callboard、auth、sessions同步未迁移的应用程序:创建表...正在运行延迟SQL...正在安装自定

  • 我正在flyway的CMD中运行命令,但脚本文件的迁移会出现以下异常 [错误]无法执行目标组织。flywaydb:flyway maven插件:3.2.1:在convertopia auto db:org项目上迁移(默认cli)。flywaydb。果心应用程序编程接口。FlywayException:验证失败。迁移1.0.53的迁移描述不匹配[错误]- 我尝试过,它说构建成功,但问题仍然没有解决。

  • 当我尝试使用将android项目迁移到时,我收到一条错误消息。 错误信息 目前,以下库正在使用。 莫西 刀柄 房间 <代码>构建。渐变 有关更多详细信息,回购托管在此处-https://github.com/Abhimanyu14/finance-manager

  • 嗨,我正在尝试升级到wagtail 2.0。我已经处理了一系列错误,但我无法克服迁移时出现的错误: 非常感谢任何帮助 谢谢 提姆 完全控制台错误: (wagtail-isa) MacBook-Air:wagtailcmsdemo tim$ ./manage.py makemigrations Traceback(最近一次调用最后一次):文件“./manage.py”,第 10 行,在 execut