Création d'une application multi-locataires utilisation de PostgreSQL est de schémas et de Rails

Trucs que j'ai déjà compris

Je suis en train d'apprendre comment créer une application multi-locataires dans les Rails qui sert de données à partir de différents schémas basés sur ce domaine ou sous-domaine est utilisé pour afficher l'application.

J'ai déjà quelques inquiétudes répondu:

  1. Comment pouvez-vous obtenir un sous-domaine-fu de travailler avec des domaines ainsi? Voilà quelqu'un qui a posé la même question qui vous mène à ce blog.
  2. De la base de données, et comment est-il structuré? Voici un excellent parler par Guy Naor, et de la bonne question à propos de PostgreSQL et de schémas.
  3. Je connais déjà mes schémas ont tous la même structure. Ils diffèrent dans les données qu'ils détiennent. Donc, comment pouvez-vous exécuter les migrations pour tous les schémas? Voici une réponse.

Ces trois points de couvrir beaucoup de la générale des trucs que j'ai besoin de savoir. Cependant, dans les prochaines étapes que j'ai semblent avoir de nombreux moyens de mise en œuvre de choses. J'espère qu'il y a une meilleure, la plus facile.

Enfin, à ma question

Lorsqu'un nouvel utilisateur se connecte, je peux facilement créer le schéma. Cependant, quelle serait la meilleure et la plus simple façon de charger la structure que le reste des schémas déjà? Voici quelques questions/scénarios qui pourraient vous donner une meilleure idée.

  1. Dois-je transmettre à un script shell qui vide le schéma public dans un temporaire, et les importations de revenir vers ma base de données principale (un peu comme ce Gars Naor dit dans sa vidéo)? Voici un résumé/script que j'ai eu de l'aide de la #postgres sur freenode. Bien que ce sera probablement le travail, je vais avoir à faire beaucoup de choses en dehors des Rails, ce qui me rend un peu mal à l'aise.. ce qui m'amène à la question suivante.
  2. Est-il un moyen de le faire directement à partir de Ruby on Rails? Par exemple, créer une PostgreSQL schéma, puis il suffit de charger les Rails de schéma de base de données (schéma.rb - je sais, c'est source de confusion) dans PostgreSQL schéma.
  3. Est-il un gem/plugin qui a ces choses déjà? Des méthodes comme "create_pg_schema_and_load_rails_schema(the_new_schema_name)". Si il n'y a rien, je vais probablement travailler à en faire un, mais je doute sur comment bien testé ça va être avec toutes les pièces en mouvement (surtout si je finis à l'aide d'un script shell pour créer et gérer de nouveaux PostgreSQL schémas).

Merci, et j'espère que ce n'était pas trop long!

InformationsquelleAutor Ramon Tayag | 2010-05-06