Difference between revisions of "SqlCVS - Managing schema changes"

From LinuxMCE
Jump to: navigation, search
m (Update the psc__repset table)
m (Update the psc__repset table)
Line 8: Line 8:
  
 
== Update the psc_<repo>_repset table==
 
== Update the psc_<repo>_repset table==
After adding the above alter statement to the schema, we need to update table rep_set with the latest psc_id created by the above statement
+
After adding the above alter statement to the schema, we need to update table rep_set with the latest PK_psc_local_schema created by the above statement
 
  UPDATE psc_local_repset SET Value=(Select max(PK_psc_local_schema) From psc_local_schema);
 
  UPDATE psc_local_repset SET Value=(Select max(PK_psc_local_schema) From psc_local_schema);
  

Revision as of 02:50, 20 April 2014

Modifying existing tables in sqlCVS is a multistep process which involves manually executing stuff on the sqlCVS main server (schema.linuxmce.org as of this writing). The current master database is main_sqlcvs_utf8.

On the main sqlCVS server

Add the modification statement to psc_<repo>_schema

For example, to add a new field FK_Text to the CommandGroup table in the local repository, the command is

insert into psc_local_schema set Value= "ALTER TABLE `CommandGroup` ADD `FK_Text` INT(11) DEFAULT NULL AFTER `TemplateParm2`";

Update the psc_<repo>_repset table

After adding the above alter statement to the schema, we need to update table rep_set with the latest PK_psc_local_schema created by the above statement

UPDATE psc_local_repset SET Value=(Select max(PK_psc_local_schema) From psc_local_schema);

Modifying the actual table

Now we modify the actual table, by executing the ALTER TABLE command in the main_sqlcvs_utf8 database

ALTER TABLE `CommandGroup` ADD `FK_Text` INT(11) DEFAULT NULL AFTER `TemplateParm2`;

On the local system

To update the schema on our system, we need to run the dump command locally

/usr/pluto/bin/sqlCVS -H schema.linuxmce.org -R 3999 -r local dump

Notes

If anyone knows of a simpler approach, please amend. Thanks.