我继承了另一个有历史记录表的项目。这些表看起来像这样,并且位于no delete SQL Server数据库中。
注意:每张桌子都是一对"的表格。每个表都有一个父表和子表。
tBooks
id
book_id (FK to tBooks id column)
... (related book data)
created_at
updated_at
deleted_at
tBookDetails
id
created_at
updated_at
deleted_at
混合任何与此表的关系,例如ActiveRecord如何处理他们在Rails中的关系。
tCheckouts
id
checkout_id
book_id
user_id
due_at
... (related checkout data)
created_at
updated_at
deleted_at
tCheckoutDetails
SELECT bd.*
FROM tBooks b
INNER JOIN tBookDetails bd ON bd.book_id = b.id
WHERE bd.deleted_at IS null
AND b.deleted_at IS null
基本上tBooks表在tBookDetails表中有一条带有多个子记录的记录。唯一的#34;活跃的" record是子项的deleted_at表中具有NULL的任何记录。它让我想起了一个维基百科类型的数据库,其中每条记录有一个变化的历史记录,但一次只有一条活动记录。
当前要检索活动记录,数据库包含一个SQL Server视图,如下所示:
self.mapViewOutlet.removeAnnotation(CarAdnotaion(coordinate: (lm.location?.coordinate)!))
Ruby on Rails如何处理这样的数据库?