[odb-users] How to change name of relationship table?

Андрей Иванов andrei.i.ivanov at commandus.com
Tue Feb 19 02:04:23 EST 2013


Hi all,

Please give me advise how can I change table name used for related object.

For instance, I have object "webuser" which stored in database as 
dbo.webusers, and some address identifiers related to the "webuser".
I need store this values in "dbo.user_addr" not "webusers_addresses" 
because database objecsts already exists.

What doing wrong?


#pragma db object table("dbo.user_addr")
class useraddress {
public:
     #pragma db id
     int id_addr_;
};

typedef std::vector<shared_ptr<useraddress>> useraddress_ptrs;

#pragma db object table("dbo.webusers")
class webuser {
     ...
     useraddress_ptrs addresses_;
     #pragma db object(useraddress) table("dbo.user_addr")
     #pragma db value(useraddress_ptrs) value_not_null unordered 
id_column("webuser_id") value_column("id_addr") table("dbo.user_addr")
     ...
}

It creates webuser.sql :

CREATE TABLE [dbo].[webusers_addresses] (
   [webuser_id] INT NOT NULL,
   [id_addr] INT NOT NULL,

that means

#pragma db object table("dbo.user_addr")
and
  #pragma db value(useraddress_ptrs) ... table("dbo.user_addr")

does not take effect both. What I need to do?

-- 
Best regards,
Andrei Ivanov

tel:+7 (914) 104-0619
fax:+1 (801) 880-0903
enum:+882 (9999) 255782
mailto:andrei.i.ivanov at commandus.com
http://commandus.com/
jid:andrei.i.ivanov at gmail.com



More information about the odb-users mailing list