Создание многопользовательского использования приложения схемы и направляющие PostgreSQL

Материал я уже выяснил

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

У меня уже есть несколько проблем, которым отвечают:

  1. Как можно заставить субдомен-fu работать с доменами также? Вот кто-то, который задал тот же вопрос, который приводит Вас к этому блогу.
  2. Какая база данных, и как это будет структурировано? Вот превосходный разговор Guy Naor и хороший вопрос о PostgreSQL и схемах.
  3. Я уже знаю, что мои схемы будут все иметь ту же структуру. Они будут отличаться по данным, которые они содержат. Так, как можно выполнить миграции для всех схем? Вот ответ.

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

Наконец, к моему вопросу

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

  1. Я должен передать его на сценарий оболочки, который выводит общедоступную схему во временную и импортирует ее назад к моей основной базе данных (в значительной степени как то, что Guy Naor говорит в своем видео)? Вот быстрая сводка/сценарий, которую я получил от полезного #postgres на freenode. В то время как это будет, вероятно, работать, я собираюсь, должны сделать много материала за пределами направляющих, который делает меня немного неудобным.. который также приносит мне к следующему вопросу.
  2. Существует ли способ сделать это прямо от Ruby on Rails? Как создают схему PostgreSQL, затем просто загружают схему базы данных направляющих (schema.rb - я знаю, это сбивает с толку) в ту схему PostgreSQL.
  3. Существует ли драгоценный камень/плагин, который уже имеет эти вещи? Методы как "create_pg_schema_and_load_rails_schema (the_new_schema_name)". Если не будет ни одного, то я буду, вероятно, работать при создании того, но я сомневаюсь о том, как хорошо протестированный это будет со всеми подвижными частями (особенно, если я закончу тем, что использовал сценарий оболочки, чтобы создать и управлять новыми схемами PostgreSQL).

Спасибо, и я надеюсь, что это не было слишком длинно!

45
задан Community 23 May 2017 в 12:09
поделиться