我想在我的一个表中使用单表继承方法。所以我创建了一个新的git分支(出于显而易见的原因:)并为表创建了STI。现在,当我切换回我的主分支以运行其他测试时,我得到单表继承错误:
“单表继承机制无法找到子类:'xxx'。引发此错误是因为列'type'保留用于存储继承的类。如果没有,请重命名此列打算将它用于存储继承类或覆盖Transaction.inheritance_column以使用另一列来获取该信息。“
我的问题是,如何将STI隔离到一个分支?我认为通过分支方法,它不会在我的主分支中产生问题。请指教!
答案 0 :(得分:1)
如果您正在使用STI,您的数据库将会更改。
MySQL本身不在git下 - 你需要确保数据库与你当前的分支同步。
选项包括:
我倾向于第一个(特定于分支的数据库),因为它是一个简单的配置文件更改( 在源代码管理下)并且迁移很简单,并且特定于分支。您可能需要记住在删除分支时删除其他DB(或编写同时执行这两个操作的脚本)。
可能还有其他解决方案,希望人们会编辑这个答案并加入它们。