2016-03-08 5 views
1

У меня есть приложение Firebase, которое хранит пользовательские данные и передает статические данные. Я изо всех сил пытаюсь найти безопасный способ хранения этих статических данных.Каким образом можно хранить не-пользовательские данные в Firebase?

Статические данные - это список видеороликов и другой информации, которую пользователь будет использовать в качестве учебного курса (предварительно заданные данные). Они могут периодически меняться.

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

Это то, что я хочу, но я не уверен, как выполнить:

  1. Я пишу в статических данных непосредственно в firebase
  2. Существует реальная (приложение) версия данных, разработка (приложение) версия и постановка (приложение) версия - живое должно быть не-редактируемые
  3. Когда STAGING был надлежащим образом проверены, я хочу, чтобы перенести все эти данные в живом Firebase приложение для статических данных

Я знаю, как это сделать за пределами Firebase, но я бы очень хотел построить весь свой back-end здесь, на Firebase. Есть предположения?

Цена может измениться. Заказ может измениться, можно добавить новые курсы и т. Д.

данные выглядит примерно так:

{ 
"slopes": { 
"slopeiOS": { 
    "featuredCourse": "k43l2l2-beginner-ios", 
    "courses": { 
    "k43l2l2-beginner-ios": { 
     "name": "Beginner iOS 1", 
     "order": 12, 
     "price": 250, 
     "salePrice": 150, 
     "onSale": true, 
     "purchases": 12000, 
     "totalMinutes": 102282, 
     "videos": { 
     "k23j3l": { 
      "order": 22, 
      "duration": 150, 
      "title": "How to install Xcode", 
      "description": "Learn how to install Xcode.." 
     } 
     } 
    } 
    } 
} 
} 
} 
+1

Можете ли вы дать нам фактический json, хранящийся в базе данных? Трудно писать правила, если мы не знаем имен того, что вы храните. Похоже, это может быть относительно, установив правило, которое не позволяет записывать видео с определенным свойством. Миграция может быть чем-то, что вы разрешаете только зарегистрированному администратору. –

+0

Я обновил образцы данных. мой последний страх в том, что одно крошечное неправильное изменение может затронуть тысячи пользователей, поэтому я хочу быть осторожным со всем управлением данными – firedev

+0

Спасибо! Прочитав это еще несколько раз, я думаю, я, возможно, не нуждался в этом, извините. Надеюсь, мой ответ поможет. Большие массивы данных сложны (firebase или нет), но если у вас есть относительно небольшой набор, чтобы начать с этого, это может быть хорошим вариантом для начала работы. Удачи! –

ответ

0

Основываясь на моем понимании того, что вы хотите сделать, это, кажется, как ваш самой большой проблемой является разработчики случайно удаление данных в производственной версии приложения.

Я не совсем уверен, что тип решения вы хотели бы, так вот несколько вариантов:

  1. Это может быть приятно знать, что firebase делает ежедневное резервное копирование (Is it possible to backup Firebase DB?), так что если Самая большая проблема - потеря ваших данных, которые решают много ваших проблем. Вы также можете создавать резервные копии своих собственных данных через вызовы API: https://www.firebase.com/docs/rest/api/

  2. Простейший, но самый ручной способ, который я могу видеть, заключается в том, чтобы экспортировать данные разработчика firebase, а затем загрузить его в промежуточную и живую версии вашего приложение с помощью кнопок импорта и экспорта: Firebase import and export buttons

  3. Если вы ищете что-то более автоматизированное. Вам нужно будет написать код и, возможно, «административный» портал для себя. Этот портал может предоставить вам после входа в систему доступ к базам данных firebase. Вы создаете инструмент для сравнения json-различий между тремя вашими базами данных (возможно, делая более мелкий поиск по уникальным идентификаторам классов), и вы можете подталкивать данные к вашим промежуточным и живым версиям вашего приложения. Это, вероятно, более «масштабируемый» маршрут, хотя все они имеют свои проблемы при работе с большими наборами данных.

+0

Это хорошая информация. Мне сейчас почти интересно, если имеет смысл просто ставить мои статические данные в свой собственный REST API. Может быть меньше работы и более простой. – firedev

Смежные вопросы