So in an effort to provide so that our product can support multiple database vendors, I"m trying to leverage Sequel's schema modification api such as create_table to develop one schema definition that can create the specified tables depending on the target RDMS.
So for example here's a typical create table spec from our Oracle schema.sql /******************************** CLIENT TABLE ***********************************/ > DROP PUBLIC SYNONYM tb_client ; > DROP TABLE tbadmin1.tb_client ; > CREATE TABLE tbadmin1.tb_client > ( > Status char(01) not null, > Last_Update numeric(14,7) not null, > Client_Id varchar2(04) not null, > Name1 varchar2(40), > Name2 varchar2(40), > Addr1 varchar2(40), > Addr2 varchar2(40), > City varchar2(20), > State char(02), > Zip varchar2(10), > Country varchar2(20), > Contact_Name varchar2(40), > Phone_Nbr varchar2(14), > Email_Addr varchar2(60), > Bbts_Firm_Id varchar2(04), > CONSTRAINT tk_client PRIMARY KEY ( client_id ) > USING INDEX TABLESPACE tb_acc_indx > ) > TABLESPACE tb_acc_data; > CREATE PUBLIC SYNONYM tb_client FOR tbadmin1.tb_client ; > GRANT SELECT ON tb_client TO tblaze_user ; > > given Sequel I came up with this: DB.create_table!(:tb_client) do > > String :status, fixed: true, size: 1 > BigDecimal :last_update, size: [14, 7] > String :client_id, size: 4, primary_key: true, primary_key_constraint_name: > 'tk_client' > String :name1, size: 40 > String :name2, size: 40 > String :addr1, size: 40 > String :city, size: 20 > String :state, fixed: true, size: 2 > String :country, size: 20 > String :contact_name, size: 40 > String :phone_nbr, size: 14 > String :email_addr, size: 60 > String :bbts_firm_id, size: 4 > > index :client_id, name: 'tb_acc_indx' > > > end > > I can't seem to find a Sequel supported mechanism for : TABLESPACE tb_acc_data; CREATE PUBLIC SYNONYM tb_client FOR tbadmin1.tb_client ; GRANT SELECT ON tb_client TO tblaze_user ; Is it too ambitious to think that I can have one schema definition file across multiple RDMS ? thanks -- You received this message because you are subscribed to the Google Groups "sequel-talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sequel-talk. For more options, visit https://groups.google.com/d/optout.
