Author: david
Date: 2008-11-18 14:21:24 -0800 (Tue, 18 Nov 2008)
New Revision: 1607
Modified:
trunk/qubit/lib/vendor/symfony/lib/plugins/sfPropelPlugin/lib/propel/sfPropelData.class.php
Log:
Add hack to sfPropelData::getData() to get QubitTaxonomy data to dump before
QubitTerm to avoid foreign key errors o n insert.
Modified:
trunk/qubit/lib/vendor/symfony/lib/plugins/sfPropelPlugin/lib/propel/sfPropelData.class.php
===================================================================
---
trunk/qubit/lib/vendor/symfony/lib/plugins/sfPropelPlugin/lib/propel/sfPropelData.class.php
2008-11-18 19:14:16 UTC (rev 1606)
+++
trunk/qubit/lib/vendor/symfony/lib/plugins/sfPropelPlugin/lib/propel/sfPropelData.class.php
2008-11-18 22:21:24 UTC (rev 1607)
@@ -21,8 +21,8 @@
class sfPropelData extends sfData
{
protected
- $deletedClasses = array(),
- $con = null;
+ $deletedClasses = array(),
+ $con = null;
/**
* Loads data from a file or directory into a Propel data source
@@ -155,7 +155,7 @@
{
$middleTable = $this->dbMap->getTable($middleTableName);
$middleClass = $middleTable->getPhpName();
- foreach ($middleTable->getColumns() as $column)
+ foreach ($middleTable->getColumns() as $column)
{
if ($column->isForeignKey() &&
constant(get_class($obj).'Peer::TABLE_NAME') != $column->getRelatedTableName())
{
@@ -279,7 +279,7 @@
continue;
}
- file_put_contents(sprintf("%s/%03d-%s.yml", $directoryOrFile, ++$i,
$tableName), sfYaml::dump(array($tableName => $dumpData[$tableName]), 3));
+ file_put_contents(sprintf('%s/%03d-%s.yml', $directoryOrFile, ++$i,
$tableName), sfYaml::dump(array($tableName => $dumpData[$tableName]), 3));
}
}
}
@@ -323,6 +323,9 @@
$dumpData = array();
+ // HACK to get QubitTaxonomy to dump before QubitTerm
+ $dumpData['QubitTaxonomy'] = array();
+
$tables = $this->fixOrderingOfForeignKeyData($tables);
foreach ($tables as $tableName)
{
@@ -330,6 +333,8 @@
$hasParent = false;
$haveParents = false;
$fixColumn = null;
+
+ // Find out if table has multiple foreign key self-relations
foreach ($tableMap->getColumns() as $column)
{
$col = strtolower($column->getColumnName());
@@ -500,10 +505,10 @@
{
// move related table 1 position before current table
$classes = array_merge(
- array_slice($classes, 0, $i),
- array($classes[$relatedTablePos]),
- array_slice($classes, $i, $relatedTablePos - $i),
- array_slice($classes, $relatedTablePos + 1)
+ array_slice($classes, 0, $i),
+ array($classes[$relatedTablePos]),
+ array_slice($classes, $i, $relatedTablePos - $i),
+ array_slice($classes, $relatedTablePos + 1)
);
// we have moved a table, so let's see if we are done
@@ -519,9 +524,9 @@
protected function fixOrderingOfForeignKeyDataInSameTable($resultsSets,
$tableName, $column, $in = null)
{
$rs = $this->con->executeQuery(sprintf('SELECT * FROM %s WHERE %s %s',
- constant('Qubit'.$tableName.'::TABLE_NAME'),
- strtolower($column->getColumnName()),
- is_null($in) ? 'IS NULL' : 'IN ('.$in.')'
+ constant('Qubit'.$tableName.'::TABLE_NAME'),
+ strtolower($column->getColumnName()),
+ is_null($in) ? 'IS NULL' : 'IN ('.$in.')'
));
$in = array();
while ($rs->next())
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.ca/group/qubit-commits?hl=en
-~----------~----~----~----~------~----~------~--~---