如何在每次新用户注册时创建数据库副本

时间:2019-06-06 02:42:06

标签: django reactjs postgresql

我有一个使用postgres创建的“ master”数据库,使用django进行其他操作,其中包含大约1000个不同的对象。当新用户注册我的网站时,我想给他们一个master数据库的副本,他们可以在其中复制所有想要的内容,但不影响master数据库。如果未登录,则他们可以看到主数据库;如果已登录,则可以看到其个人副本。

这个问题更多地围绕理论和最佳实践。考虑到存储空间的大小,速度,UI。是否有人提示我应该怎么做?

我的第一个想法是在数据库中创建一个父对象,为主数据库创建一个对象,为每个新用户的数据库副本创建一个对象。但是数据库确实可以快速增长。

这是我第一次尝试此操作,因此,您想要摆脱的任何细节都将非常有帮助。

当前结构

all_items = {
  {
   "item": name,
   "detail: ['one', 'two', 'three']
  },
  {
   "item": second name,
   "detail: ['four', 'five', 'six']
  }
}

可能的结构

database={
{master : all_items = {
  {
   "item": name,
   "detail: ['one', 'two', 'three']
  },
  {
   "item": second name,
   "detail: ['four', 'five', 'six']
  }
}  
},  

{new user : all_items = {
  {
   "item": name,
   "detail: ['one', 'two', 'three']
  },
  {
   "item": second name,
   "detail: ['four', 'five', 'six']
  }
}

}

1 个答案:

答案 0 :(得分:0)

为每个称为ID的项目创建一个字段,并且当用户获取数据发送ID为1或自己的ID的项目时,基本主数据库的默认值为ID 1,而当他创建新项目时,将其ID作为其ID。 / p>