#!/usr/bin/php setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db = new PDOAdapter($pdo, new SQL92Dialect()); class MyActiveRecord extends ActiveRecord { protected function buildDBAdapter() { global $db; return $db; } } class Company extends MyActiveRecord { protected $tableName = 'companies'; protected $hasMany = array( 'employees' => array('Employee', 'company_id') ); } class Employee extends MyActiveRecord { protected $tableName = 'employees'; protected $belongsTo = array( 'company' => array('Company', 'company_id') ); protected $manyToMany = array( 'staplers' => array('Stapler', 'employees_to_staplers', 'employee_id', 'stapler_id') ); } class Stapler extends MyActiveRecord { protected $tableName = 'staplers'; protected $manyToMany = array( 'users' => array('Employee', 'employees_to_staplers', 'stapler_id', 'employee_id') ); } try { $db->execute("DROP TABLE employees_to_staplers"); } catch (Exception $e) { }; try { $db->execute("DROP TABLE staplers"); } catch (Exception $e) { }; try { $db->execute("DROP TABLE employees"); } catch (Exception $e) { }; try { $db->execute("DROP TABLE companies"); } catch (Exception $e) { }; $db->execute(" CREATE TABLE companies ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT ) "); $db->execute(" CREATE TABLE employees ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, company_id INT REFERENCES companies(id) ); "); $db->execute(" CREATE TABLE staplers ( id INTEGER PRIMARY KEY AUTOINCREMENT, colour TEXT ); "); $db->execute(" CREATE TABLE employees_to_staplers ( employee_id INT REFERENCES employees(id) ON DELETE CASCADE, stapler_id INT REFERENCES staplers(id) ON DELETE CASCADE ); "); include '1.php'; include '2.php'; include '3.php'; include '4.php'; include '5.php'; unlink($sqliteFile); ?>