Thread: Foreign key modification
Hello Dave and all, I really need to modify foreign keys on an existing database. As there is no ALTER TABLE DROP command, I need a pseudo rebuild feature (CREATE TABLE AS). Could you please explain the guidelines for adding this feature to pgAdmin II. Don't worry, I will not upload code until it is stable and reviewed by you. Cheers, Jean-Michel
> -----Original Message----- > From: Jean-Michel POURE [mailto:jmpoure@axitrad.com] > Sent: 26 September 2001 14:40 > To: pgadmin-hackers@postgresql.org > Subject: [pgadmin-hackers] Foreign key modification > > > Hello Dave and all, > > I really need to modify foreign keys on an existing database. > As there is no ALTER TABLE DROP command, I need a pseudo > rebuild feature > (CREATE TABLE AS). > > Could you please explain the guidelines for adding this > feature to pgAdmin II. Don't worry, I will not upload code > until it is stable and reviewed by you. Can't you pick an easier one to start with?!?! Foreign Keys are probably the most complex bit of pgSchema... In the simplest terms, pgSchema will need Remove & Add methods in ForeignKeys.cls. These will drop/re-create the three triggers that make up the Foreign Key (I assume there is nothing more to an fkey, I've certainly never found anything). If you wish to edit an fkey, you will need to make the relevant property of pgForeignKey.cls read/write and add the code to the Property Let to drop & recreate the relevant trigger in the required way. I would take a look at how ForeignKeys.cls analyses the existing triggers to figure out what the triggers look like and how to best modify them. Regards, Dave.
>Can't you pick an easier one to start with?!?! Foreign Keys are probably the >most complex bit of pgSchema... > >In the simplest terms, pgSchema will need Remove & Add methods in >ForeignKeys.cls. These will drop/re-create the three triggers that make up >the Foreign Key (I assume there is nothing more to an fkey, I've certainly >never found anything). > >If you wish to edit an fkey, you will need to make the relevant property of >pgForeignKey.cls read/write and add the code to the Property Let to drop & >recreate the relevant trigger in the required way. > >I would take a look at how ForeignKeys.cls analyses the existing triggers to >figure out what the triggers look like and how to best modify them. > >Regards, Dave. Hello Dave, Ok, I though pgSchema already had these features. I will have a look at this Remove & Add methods in ForeignKeys.cls. Cheers, Jean-Michel
> -----Original Message----- > From: Jean-Michel POURE [mailto:jmpoure@axitrad.com] > Sent: 27 September 2001 09:08 > To: pgadmin-hackers@postgresql.org > Subject: Re: [pgadmin-hackers] Foreign key modification > > > > >Can't you pick an easier one to start with?!?! Foreign Keys are > >probably the most complex bit of pgSchema... > > > >In the simplest terms, pgSchema will need Remove & Add methods in > >ForeignKeys.cls. These will drop/re-create the three > triggers that make > >up the Foreign Key (I assume there is nothing more to an fkey, I've > >certainly never found anything). > > > >If you wish to edit an fkey, you will need to make the relevant > >property of pgForeignKey.cls read/write and add the code to the > >Property Let to drop & recreate the relevant trigger in the required > >way. > > > >I would take a look at how ForeignKeys.cls analyses the existing > >triggers to figure out what the triggers look like and how to best > >modify them. > > > >Regards, Dave. > > Hello Dave, > > Ok, I though pgSchema already had these features. > I will have a look at this Remove & Add methods in ForeignKeys.cls. No, it only (currently) has these methods for objects that can be directly added or removed with simple SQL. The idea was that we would then make simple properties Read/Write as we figured out ways to do so, and add Add/Remove meothods for the more complex things such as ForeignKeys. /D