$manager = null; $connector = null; if ($options->bootstrap) { require $options->bootstrap; } if (!$mapper) { if (!$options->mapperClass) { $options->mapperClass = 'Amiss\\Mapper\\Note'; } $mapper = new $options->mapperClass(); } if (!$mapper) { echo "Please pass the --mapper parameter or define a mapper in a bootstrap file\n\n" . $usage; exit(1); } if (!$manager) { $manager = new Amiss\Sql\Manager(new \PDOK\Connector($options->engine . ':blahblah'), $mapper); } $toCreate = find_classes($options->input); if ($options->namespaces) { $toCreate = filter_classes_by_namespaces($toCreate, $options->namespaces); } if ($options->notes) { $toCreate = filter_classes_by_notes($toCreate, $options->notes); } $sql = Amiss\Sql\TableBuilder::createSQL($options->engine, $mapper, $toCreate); foreach ($sql as $class => $queries) { foreach ($queries as $q) { echo $q . "\n\n"; } }
$mapper = new $options->mapperClass(); } if (!$mapper) { echo "Please pass the --mapper parameter or define a mapper in a bootstrap file\n\n" . $usage; exit(1); } if (!$connector) { $connector = new \PDOK\Connector($options->dsn, $options->user, $options->password); } if ($connector->engine != 'sqlite') { if (!$options->db) { echo "DB not specified\n\n"; echo $usage; exit(1); } $connector->execute("CREATE DATABASE IF NOT EXISTS " . $connector->quoteIdentifier($options->db)); $connector->execute("USE " . $connector->quoteIdentifier($options->db)); } $toCreate = find_classes($options->input); if ($options->namespaces) { $toCreate = filter_classes_by_namespaces($toCreate, $options->namespaces); } if ($options->notes) { $toCreate = filter_classes_by_notes($toCreate, $options->notes); } $sql = Amiss\Sql\TableBuilder::createSQL($connector->engine, $mapper, $toCreate); foreach ($sql as $class => $queries) { foreach ($queries as $q) { $connector->execute($q); } }