Как создать копию базы данных для каждой новой регистрации пользователя - PullRequest
0 голосов
/ 06 июня 2019

У меня есть «главная» база данных, созданная с помощью postgres, использующая django и реагирующая на все остальное, в ней есть около 1000 различных объектов.Когда новый пользователь регистрируется на моем веб-сайте, я хочу дать им копию основной базы данных, в которой они могут использовать все, что хотят, но не влияют на основную.Если они не вошли в систему, то они могут увидеть мастер, если они вошли в систему, чем они увидят свою личную копию.

Этот вопрос больше касается теории и лучших практик.Размер хранилища, скорость, пользовательский интерфейс. У кого-нибудь есть советы, как мне поступить?

Моя первая мысль - создать родительский объект в базе данных, один объект для мастера и один объект для каждого.копия базы данных нового пользователя.Но база данных может расти очень быстро.

Я впервые экспериментирую с этим, поэтому любые детали, которые вы хотите пролить, будут чрезвычайно полезны.

текущая структура

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 голосов
/ 06 июня 2019

Создайте поле для каждого элемента, называемого идентификатором, и по умолчанию для базового мастера используется идентификатор 1, когда пользователь, выбирающий данные, отправляет элементы с идентификатором 1 или своим собственным идентификатором, когда он создает новый элемент, делают его идентификатор своим идентификатором.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...