diff --git a/core/lib/Thelia/Model/Base/RewritingUrl.php b/core/lib/Thelia/Model/Base/RewritingUrl.php
index 2833e80ec..75ee97e79 100644
--- a/core/lib/Thelia/Model/Base/RewritingUrl.php
+++ b/core/lib/Thelia/Model/Base/RewritingUrl.php
@@ -1017,6 +1017,10 @@ abstract class RewritingUrl implements ActiveRecordInterface
$modifiedColumns = array();
$index = 0;
+ $this->modifiedColumns[] = RewritingUrlTableMap::ID;
+ if (null !== $this->id) {
+ throw new PropelException('Cannot insert a value for auto-increment primary key (' . RewritingUrlTableMap::ID . ')');
+ }
// check the columns in natural order for more readable SQL queries
if ($this->isColumnModified(RewritingUrlTableMap::ID)) {
@@ -1086,6 +1090,13 @@ abstract class RewritingUrl implements ActiveRecordInterface
throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), 0, $e);
}
+ try {
+ $pk = $con->lastInsertId();
+ } catch (Exception $e) {
+ throw new PropelException('Unable to get autoincrement id.', 0, $e);
+ }
+ $this->setId($pk);
+
$this->setNew(false);
}
@@ -1383,7 +1394,6 @@ abstract class RewritingUrl implements ActiveRecordInterface
*/
public function copyInto($copyObj, $deepCopy = false, $makeNew = true)
{
- $copyObj->setId($this->getId());
$copyObj->setUrl($this->getUrl());
$copyObj->setView($this->getView());
$copyObj->setViewId($this->getViewId());
@@ -1413,6 +1423,7 @@ abstract class RewritingUrl implements ActiveRecordInterface
if ($makeNew) {
$copyObj->setNew(true);
+ $copyObj->setId(NULL); // this is a auto-increment column, so set to default value
}
}
diff --git a/core/lib/Thelia/Model/Map/RewritingUrlTableMap.php b/core/lib/Thelia/Model/Map/RewritingUrlTableMap.php
index e21a99a9d..c6d5e5473 100644
--- a/core/lib/Thelia/Model/Map/RewritingUrlTableMap.php
+++ b/core/lib/Thelia/Model/Map/RewritingUrlTableMap.php
@@ -158,7 +158,7 @@ class RewritingUrlTableMap extends TableMap
$this->setPhpName('RewritingUrl');
$this->setClassName('\\Thelia\\Model\\RewritingUrl');
$this->setPackage('Thelia.Model');
- $this->setUseIdGenerator(false);
+ $this->setUseIdGenerator(true);
// columns
$this->addPrimaryKey('ID', 'Id', 'INTEGER', true, null, null);
$this->addColumn('URL', 'Url', 'VARCHAR', true, 255, null);
@@ -454,6 +454,10 @@ class RewritingUrlTableMap extends TableMap
$criteria = $criteria->buildCriteria(); // build Criteria from RewritingUrl object
}
+ if ($criteria->containsKey(RewritingUrlTableMap::ID) && $criteria->keyContainsValue(RewritingUrlTableMap::ID) ) {
+ throw new PropelException('Cannot insert a value for auto-increment primary key ('.RewritingUrlTableMap::ID.')');
+ }
+
// Set the correct dbName
$query = RewritingUrlQuery::create()->mergeWith($criteria);
diff --git a/install/insert.sql b/install/insert.sql
index f5e5d6fdb..cbb6725f3 100755
--- a/install/insert.sql
+++ b/install/insert.sql
@@ -40,7 +40,7 @@ VALUES
(1, 'en_EN', 'euro'),
(2, 'fr_FR', 'dollar'),
(2, 'en_EN', 'dollar'),
-(3, 'fr_FR', 'livre');
+(3, 'fr_FR', 'livre'),
(3, 'en_EN', 'pound');
diff --git a/install/thelia.sql b/install/thelia.sql
index 308e52b75..1993ee084 100755
--- a/install/thelia.sql
+++ b/install/thelia.sql
@@ -1441,7 +1441,7 @@ DROP TABLE IF EXISTS `rewriting_url`;
CREATE TABLE `rewriting_url`
(
- `id` INTEGER NOT NULL,
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
`url` VARCHAR(255) NOT NULL,
`view` VARCHAR(255),
`view_id` VARCHAR(255),
diff --git a/local/config/schema.xml b/local/config/schema.xml
index 090280287..0e20f2562 100755
--- a/local/config/schema.xml
+++ b/local/config/schema.xml
@@ -1094,7 +1094,7 @@