【发布时间】:2021-11-06 06:00:19
【问题描述】:
我正在使用 Androidx-Room 创建一个数据库。它包含 3-4 个表并存储一些属于用户的数据。现在我打算在同一设备中添加多用户登录。在这种情况下,最好的策略是什么?我应该为每个用户创建具有相同架构的新数据库(属于特定用户的数据可以用数据库名称来标识,如“myappname_$userId”)还是应该在数据库中的每个表中添加一列以指示该行属于哪个用户(可以通过更改现有查询添加“WHERE COL_USER_ID LIKE :userId”来识别属于特定用户的数据)。
我尝试对此进行搜索,并在 StackOverflow 中发现了一些类似的问题。但我无法就此得出任何结论。我得到的唯一一点是,如果您使用第二种方法,则在用户注销和新用户登录时无需切换数据库。除此之外,我无法收集这两种方法的任何优缺点.
【问题讨论】:
标签: android database-design android-room