2013/3/7 guillaume belleguic <[email protected]>: > A mon avis tu vas au devant de gros problème...
Mais noooon, mauvaise langue !! Tu sais bien qu'il vaut mieux faire de l'over-engineering dès le départ plutôt que de faire un truc simple et qui marche. Voyons... > > Une question le changement de nom de table en live ça marche en mode > production ? > > Le 7 mars 2013 15:27, oto iashvili <[email protected]> a écrit : > >> oui ca m'affiche bien "franceuser" >> je viens de voir aussi que si je mets >> >> class User < ActiveRecord::Base >> rolify >> # Include default devise modules. Others available are: >> # :token_authenticatable, :confirmable, >> # :lockable, :timeoutable and :omniauthable >> devise :database_authenticatable, :registerable, #:confirmable, >> :recoverable, :rememberable, :trackable, :validatable >> >> >> self.table_name = 'franceusers' >> >> ca fonctionne bien. Il semble donc que ce soit la methode qui pose pb, >> mais pourquoi ... ? >> >> >> >> Le jeudi 7 mars 2013 15:21:12 UTC+1, Guirec Corbel a écrit : >>> >>> Peux-tu juste démarrer la console Rails et faire un User.table_name pour >>> vérifier si le nom de la table est changée ou non. >>> >>> Le 7 mars 2013 09:19, oto iashvili <[email protected]> a écrit : >>> >>>> bizar, car cela marché qd meme. >>>> >>>> Bref, j'ai enlevé le table_name_prefix pour le remplacer par table_name >>>> >>>> mais ca ne fonctionne toujours pas. >>>> >>>> sans parler de changement dynamic, imaginons juste que j'ai deja une bdd >>>> avec des tables pour une autre app et pour pas melanger les tables, je >>>> voudrais prefixé toutes les tables de ma second app par "france", ca >>>> devrait >>>> etre possible. Et encore une fois, ca semble tres bien fonctionné avec >>>> toutes les autres tables, seul la users ne le prend pas. >>>> >>>> Le jeudi 7 mars 2013 15:09:22 UTC+1, pierre nespo a écrit : >>>>> >>>>> Donc si tu lis >>>>> http://apidock.com/rails/ActiveRecord/Base/table_name_prefix/class, cette >>>>> méthode n'existe plus en 3.2.10. >>>>> >>>>> Et y'a aucune différence entre les 2 méthodes. >>>>> >>>>> Pierre >>>>> >>>>> >>>>> 2013/3/7 oto iashvili <[email protected]> >>>>> >>>>>> rails 3.2.10 >>>>>> >>>>>> >>>>>> mais je vois pas de diffence entre ton code et le mien : >>>>>> >>>>>> >>>>>> def self.table_name >>>>>> debugger >>>>>> 'franceusers' >>>>>> end >>>>>> >>>>>> >>>>>> et >>>>>> >>>>>> def self.table_name >>>>>> "special_" + super >>>>>> end >>>>>> >>>>>> hormis le "super", mais ca ne devrait rien changer, 'franceusers' dans >>>>>> mon ca est juste pour tester. >>>>>> >>>>>> Le jeudi 7 mars 2013 14:56:42 UTC+1, Guirec Corbel a écrit : >>>>>>> >>>>>>> La différence peut être la version de Rails que tu utilise. Laquelle >>>>>>> est-ce? >>>>>>> >>>>>>> (Sérieusement, parle en à ton boss. C'est une bonne pratique de faire >>>>>>> ça comme ça.) >>>>>>> >>>>>>> Le 7 mars 2013 08:53, oto iashvili <[email protected]> a écrit : >>>>>>> >>>>>>>> la methode table_name_prefix existe est fonctionne tres bien pour >>>>>>>> mes autres classes >>>>>>>> http://apidock.com/rails/ActiveRecord/Base/table_name_prefix/class >>>>>>>> >>>>>>>> Le jeudi 7 mars 2013 14:47:37 UTC+1, pierre nespo a écrit : >>>>>>>>> >>>>>>>>> La méthode `table_name_prefix` n’existe pas, il n'y a donc aucune >>>>>>>>> raison pour qu'elle soit appelée. cf: >>>>>>>>> https://github.com/rails/rails/blob/3-2-13/activerecord/lib/active_record/model_schema.rb >>>>>>>>> >>>>>>>>> De plus changer le nom de la table "dynamiquement" dans le model >>>>>>>>> n'est pas une bonne idée car tu agis sur la Classe User et pas sur >>>>>>>>> l'Instance User, donc même si cela semble fonctionner en >>>>>>>>> développement, tu >>>>>>>>> risques d'avoir des surprises une fois en production (car les classes >>>>>>>>> sont >>>>>>>>> mises en cache). >>>>>>>>> >>>>>>>>> Pierre >>>>>>>>> >>>>>>>>> >>>>>>>>> 2013/3/7 Guirec Corbel <[email protected]> >>>>>>>>>> >>>>>>>>>> Pourrais-tu préciser pourquoi c'est impossible? >>>>>>>>>> >>>>>>>>>> Le 7 mars 2013 08:32, oto iashvili <[email protected]> a >>>>>>>>>> écrit : >>>>>>>>>> >>>>>>>>>>> impossible dans mon cas. Vraiment besoin de separer les tables. >>>>>>>>>>> Et ca fonctionne tres bien pour mes autres tables (post, image, >>>>>>>>>>> ...) , seul >>>>>>>>>>> la table user pose pb! >>>>>>>>>>> >>>>>>>>>>> Le jeudi 7 mars 2013 14:27:07 UTC+1, Guirec Corbel a écrit : >>>>>>>>>>>> >>>>>>>>>>>> Je suis tout à fait d'accord avec Thibeaut. Tu peux utiliser des >>>>>>>>>>>> scopes pour segmenter tes utilisateurs par pays. >>>>>>>>>>>> >>>>>>>>>>>> Le 7 mars 2013 08:23, Thibaut Barrère <[email protected]> a >>>>>>>>>>>> écrit : >>>>>>>>>>>>> >>>>>>>>>>>>> Bonjour, >>>>>>>>>>>>> >>>>>>>>>>>>> mon conseil: regroupe les deux tables en une seule si tu peux >>>>>>>>>>>>> (vraiment), avec une colonne pour identifier le pays etc. Sur la >>>>>>>>>>>>> durée ça >>>>>>>>>>>>> sera plus simple, si tu peux le faire. >>>>>>>>>>>>> >>>>>>>>>>>>> Thibaut >>>>>>>>>>>>> -- >>>>>>>>>>>>> http://www.logeek.fr >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> 2013/3/7 oto iashvili <[email protected]> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Bonjour, >>>>>>>>>>>>>> pour mon appli, j'ai plusieurs tables utilisateurs >>>>>>>>>>>>>> (franceusers, belgiqueusers, ...), et j'aimerais utilisé l'une >>>>>>>>>>>>>> ou l'autre en >>>>>>>>>>>>>> fonction du domaine. >>>>>>>>>>>>>> J'ai essayé avec table_name_prefix et table_name, mais ca ne >>>>>>>>>>>>>> semble pas fonctionner >>>>>>>>>>>>>> >>>>>>>>>>>>>> class User < ActiveRecord::Base >>>>>>>>>>>>>> rolify >>>>>>>>>>>>>> # Include default devise modules. Others available are: >>>>>>>>>>>>>> # :token_authenticatable, :confirmable, >>>>>>>>>>>>>> # :lockable, :timeoutable and :omniauthable >>>>>>>>>>>>>> devise :database_authenticatable, :registerable, >>>>>>>>>>>>>> #:confirmable, >>>>>>>>>>>>>> :recoverable, :rememberable, :trackable, :validatable >>>>>>>>>>>>>> >>>>>>>>>>>>>> def self.table_name >>>>>>>>>>>>>> debugger >>>>>>>>>>>>>> 'franceusers' >>>>>>>>>>>>>> end >>>>>>>>>>>>>> >>>>>>>>>>>>>> def self.table_name_prefix >>>>>>>>>>>>>> debugger >>>>>>>>>>>>>> 'france' >>>>>>>>>>>>>> end >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> grace a debugger, j'ai pu voir que self.table_name est bien >>>>>>>>>>>>>> appelé, mais pas self.table_name_prefix. Et meme si >>>>>>>>>>>>>> self.table_name, devise >>>>>>>>>>>>>> va chercher les utilisateurs dans la table users et non >>>>>>>>>>>>>> franceusers >>>>>>>>>>>>>> >>>>>>>>>>>>>> pourtant >>>>>>>>>>>>>> User.table_name renvoie bien "franceusers" et >>>>>>>>>>>>>> User.table_name_prefix renvoie bien "france" >>>>>>>>>>>>>> >>>>>>>>>>>>>> ya a til qqch de spécial a faire pour que cela marche ? >>>>>>>>>>>>>> >>>>>>>>>>>>>> merci >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> Vous avez reçu ce message, car vous êtes abonné au groupe >>>>>>>>>>>>>> "Railsfrance" de Google Groups. >>>>>>>>>>>>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à >>>>>>>>>>>>>> l'adresse [email protected] >>>>>>>>>>>>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse >>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>> >>>>>>>>>>>>>> --- >>>>>>>>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>>>>>>>>>> Groupes Railsfrance. >>>>>>>>>>>>>> Pour vous désabonner de ce groupe et ne plus recevoir >>>>>>>>>>>>>> d'e-mails le concernant, envoyez un e-mail à l'adresse >>>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Pour plus d'options, visitez le site >>>>>>>>>>>>>> https://groups.google.com/groups/opt_out . >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> -- >>>>>>>>>>>>> Vous avez reçu ce message, car vous êtes abonné au groupe >>>>>>>>>>>>> "Railsfrance" de Google Groups. >>>>>>>>>>>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à >>>>>>>>>>>>> l'adresse [email protected] >>>>>>>>>>>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse >>>>>>>>>>>>> [email protected] >>>>>>>>>>>>> >>>>>>>>>>>>> --- >>>>>>>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>>>>>>>>> Groupes Railsfrance. >>>>>>>>>>>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails >>>>>>>>>>>>> le concernant, envoyez un e-mail à l'adresse >>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>> >>>>>>>>>>>>> Pour plus d'options, visitez le site >>>>>>>>>>>>> https://groups.google.com/groups/opt_out . >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> -- >>>>>>>>>>> Vous avez reçu ce message, car vous êtes abonné au groupe >>>>>>>>>>> "Railsfrance" de Google Groups. >>>>>>>>>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à >>>>>>>>>>> l'adresse [email protected] >>>>>>>>>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse >>>>>>>>>>> [email protected] >>>>>>>>>>> --- >>>>>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>>>>>>> Groupes Railsfrance. >>>>>>>>>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails >>>>>>>>>>> le concernant, envoyez un e-mail à l'adresse >>>>>>>>>>> [email protected]. >>>>>>>>>>> Pour plus d'options, visitez le site >>>>>>>>>>> https://groups.google.com/groups/opt_out . >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> -- >>>>>>>>>> Vous avez reçu ce message, car vous êtes abonné au groupe >>>>>>>>>> "Railsfrance" de Google Groups. >>>>>>>>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à >>>>>>>>>> l'adresse [email protected] >>>>>>>>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse >>>>>>>>>> [email protected] >>>>>>>>>> --- >>>>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>>>>>> Groupes Railsfrance. >>>>>>>>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le >>>>>>>>>> concernant, envoyez un e-mail à l'adresse >>>>>>>>>> [email protected]. >>>>>>>>>> Pour plus d'options, visitez le site >>>>>>>>>> https://groups.google.com/groups/opt_out . >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> -- >>>>>>>> -- >>>>>>>> Vous avez reçu ce message, car vous êtes abonné au groupe >>>>>>>> "Railsfrance" de Google Groups. >>>>>>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à >>>>>>>> l'adresse [email protected] >>>>>>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse >>>>>>>> [email protected] >>>>>>>> --- >>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>>>> Groupes Railsfrance. >>>>>>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le >>>>>>>> concernant, envoyez un e-mail à l'adresse >>>>>>>> [email protected]. >>>>>>>> Pour plus d'options, visitez le site >>>>>>>> https://groups.google.com/groups/opt_out . >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>> -- >>>>>> -- >>>>>> Vous avez reçu ce message, car vous êtes abonné au groupe >>>>>> "Railsfrance" de Google Groups. >>>>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à >>>>>> l'adresse [email protected] >>>>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse >>>>>> [email protected] >>>>>> --- >>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes >>>>>> Railsfrance. >>>>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le >>>>>> concernant, envoyez un e-mail à l'adresse >>>>>> [email protected]. >>>>>> Pour plus d'options, visitez le site >>>>>> https://groups.google.com/groups/opt_out . >>>>>> >>>>>> >>>>> >>>>> >>>> -- >>>> -- >>>> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" >>>> de Google Groups. >>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse >>>> [email protected] >>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse >>>> [email protected] >>>> --- >>>> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes >>>> Railsfrance. >>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le >>>> concernant, envoyez un e-mail à l'adresse [email protected]. >>>> Pour plus d'options, visitez le site >>>> https://groups.google.com/groups/opt_out . >>>> >>>> >>> >>> >> -- >> -- >> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de >> Google Groups. >> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse >> [email protected] >> Pour résilier votre abonnement envoyez un e-mail à l'adresse >> [email protected] >> --- >> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes >> Railsfrance. >> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le >> concernant, envoyez un e-mail à l'adresse >> [email protected]. >> Pour plus d'options, visitez le site >> https://groups.google.com/groups/opt_out . >> >> > > > -- > -- > Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de > Google Groups. > Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse > [email protected] > Pour résilier votre abonnement envoyez un e-mail à l'adresse > [email protected] > --- > Vous recevez ce message, car vous êtes abonné au groupe Google Groupes > Railsfrance. > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le > concernant, envoyez un e-mail à l'adresse > [email protected]. > Pour plus d'options, visitez le site > https://groups.google.com/groups/opt_out . > > -- Nicolas Blanco, Web developper http://www.nicolasblanco.fr Jabber/GoogleTalk : [email protected] Twitter : http://twitter.com/slainer68 Github : http://github.com/slainer68 Skype : slainer68 -- -- Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected] --- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Railsfrance. Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse [email protected]. Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .
