| <?php |
| /******************************************************************************* |
| * Copyright (c) 2006-2007 Eclipse Foundation |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Bjorn Freeman-Benson - initial API and implementation |
| * Ward Cunningham - initial API and implementation |
| * Karl Mathias - initial API and implementation |
| *******************************************************************************/ |
| |
| //require_once( $GLOBALS['CLASSES_DIRECTORY'] . "functions.php" ); |
| //require_once( $GLOBALS['CLASSES_DIRECTORY'] . "context.class.php" ); |
| |
| |
| |
| class CheckAndModifyDatabaseSchema { |
| public function check_and_modify( $context ) { |
| $rtrn = true; |
| $dir = $context->get("components_directory"); |
| foreach( dirs($dir) as $component ) { |
| print $dir . "$component/check-database-schema.php\n"; |
| |
| if( file_exists( $dir . "$component/check-database-schema.php" ) ) { |
| echo "Checking db schema for table '$component'\n"; |
| mysql_select_db($component); |
| // the included code uses the context to check (and perhaps modify) the database(s) schemas |
| include_once( $dir . "$component/check-database-schema.php" ); |
| $checkername = $component . "_SchemaChecker"; |
| $obj = new $checkername ; |
| if( !$obj->check_and_modify( $context ) ) { |
| echo "***Trouble during checking database schema for table: '$component' ****\n"; |
| $rtrn = false; |
| } |
| } |
| } |
| return $rtrn; |
| } |
| } |
| |
| ?> |