KataoProductMapBuilder.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <?php
  2. /**
  3. * This class adds structure of 'katao_product' table to 'propel' DatabaseMap object.
  4. *
  5. *
  6. *
  7. * These statically-built map classes are used by Propel to do runtime db structure discovery.
  8. * For example, the createSelectSql() method checks the type of a given column used in an
  9. * ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive
  10. * (i.e. if it's a text column type).
  11. *
  12. * @package lib.model.map
  13. */
  14. class KataoProductMapBuilder {
  15. /**
  16. * The (dot-path) name of this class
  17. */
  18. const CLASS_NAME = 'lib.model.map.KataoProductMapBuilder';
  19. /**
  20. * The database map.
  21. */
  22. private $dbMap;
  23. /**
  24. * Tells us if this DatabaseMapBuilder is built so that we
  25. * don't have to re-build it every time.
  26. *
  27. * @return boolean true if this DatabaseMapBuilder is built, false otherwise.
  28. */
  29. public function isBuilt()
  30. {
  31. return ($this->dbMap !== null);
  32. }
  33. /**
  34. * Gets the databasemap this map builder built.
  35. *
  36. * @return the databasemap
  37. */
  38. public function getDatabaseMap()
  39. {
  40. return $this->dbMap;
  41. }
  42. /**
  43. * The doBuild() method builds the DatabaseMap
  44. *
  45. * @return void
  46. * @throws PropelException
  47. */
  48. public function doBuild()
  49. {
  50. $this->dbMap = Propel::getDatabaseMap('propel');
  51. $tMap = $this->dbMap->addTable('katao_product');
  52. $tMap->setPhpName('KataoProduct');
  53. $tMap->setUseIdGenerator(true);
  54. $tMap->addPrimaryKey('ID', 'Id', 'int', CreoleTypes::INTEGER, true, null);
  55. $tMap->addColumn('REFERENCE', 'Reference', 'string', CreoleTypes::VARCHAR, false, 255);
  56. $tMap->addColumn('NAME', 'Name', 'string', CreoleTypes::VARCHAR, true, 255);
  57. $tMap->addColumn('URL_IDENTIFIER', 'UrlIdentifier', 'string', CreoleTypes::VARCHAR, true, 255);
  58. $tMap->addColumn('DESCRIPTION', 'Description', 'string', CreoleTypes::LONGVARCHAR, false, null);
  59. $tMap->addForeignKey('KATAO_PRODUCT_FAMILY_ID', 'KataoProductFamilyId', 'int', CreoleTypes::INTEGER, 'katao_product_family', 'ID', true, null);
  60. $tMap->addForeignKey('KATAO_SUPPLIER_ID', 'KataoSupplierId', 'int', CreoleTypes::INTEGER, 'katao_supplier', 'ID', true, null);
  61. $tMap->addColumn('MAX_SOL_AMOUNT', 'MaxSolAmount', 'int', CreoleTypes::INTEGER, false, null);
  62. $tMap->addColumn('UNIT_PRICE_EURO', 'UnitPriceEuro', 'double', CreoleTypes::FLOAT, true, null);
  63. $tMap->addColumn('AUTHORIZE_DECIMAL', 'AuthorizeDecimal', 'boolean', CreoleTypes::BOOLEAN, false, 1);
  64. $tMap->addColumn('MARGIN', 'Margin', 'double', CreoleTypes::FLOAT, false, null);
  65. $tMap->addColumn('TVA_RATE', 'TvaRate', 'double', CreoleTypes::FLOAT, false, null);
  66. $tMap->addColumn('MIN_ORDER_NUMBER', 'MinOrderNumber', 'int', CreoleTypes::INTEGER, true, null);
  67. $tMap->addColumn('PICTURE', 'Picture', 'string', CreoleTypes::VARCHAR, false, 255);
  68. $tMap->addColumn('DELIVERY_DELAY', 'DeliveryDelay', 'int', CreoleTypes::INTEGER, false, null);
  69. $tMap->addColumn('IS_ARCHIVED', 'IsArchived', 'int', CreoleTypes::INTEGER, false, 1);
  70. $tMap->addColumn('ACCOUNTING_CODE_PURCHASE', 'AccountingCodePurchase', 'string', CreoleTypes::VARCHAR, true, 12);
  71. $tMap->addColumn('ACCOUNTING_CODE_SELL', 'AccountingCodeSell', 'string', CreoleTypes::VARCHAR, true, 12);
  72. $tMap->addColumn('CREATED_AT', 'CreatedAt', 'int', CreoleTypes::TIMESTAMP, false, null);
  73. $tMap->addColumn('UPDATED_AT', 'UpdatedAt', 'int', CreoleTypes::TIMESTAMP, false, null);
  74. } // doBuild()
  75. } // KataoProductMapBuilder