快速说明:我有19天的时间来解决客户的问题。
背景: 客户聘请了一位承包商,他吹嘘他可以在3个月内获得一个新的App。两个月,几天后我被带进来,个人被释放;没有完整的代码,没有考虑到架构,以及UI的可憎。
我有两个应用程序:一个生产和成熟,另一个需要一些爱。一个拥有我需要的所有数据而另一个没有。我正在编写新代码TDD风格,旨在部分陪审团操纵SOA基础架构,涵盖除数据本身之外的所有问题。如果我有更多的时间,我可以使用liquibase将模式重构为可憎的碎片(使用你的想象力)但我不这样做...所以计划B如下:
App A(插入|更新|删除)实体Foo更新AppASchema.FooTable,通过post触发器更新AppBSchema.FooLikeTable,反之亦然。
我知道这是一个疯狂的想法,但它是我所得到的最糟糕的想法,我的担忧是
我实施触发器的时间预算是12小时或破产。
答案 0 :(得分:1)
AppASchema.FooTable和AppBSchema.FooLikeTable 是否足够相似,您可以将其中一个重新实现为updatable view?您可能必须创建一些额外的表来保存对应用模式之一唯一的列。这比一堆触发器更易于维护。
如果没有,并且您必须使用触发器实现它,那么您必须非常小心以确保没有递归触发器依赖项。如果有一些表并且它们非常相似,那就不会太困难了。如果有很多表或相似之处很少,那就需要时间。