InstallSchema.php 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. <?php
  2. /**
  3. * @copyright Vertex. All rights reserved. https://www.vertexinc.com/
  4. * @author Mediotype https://www.mediotype.com/
  5. */
  6. namespace Vertex\Tax\Setup;
  7. use Magento\Framework\DB\Adapter\AdapterInterface;
  8. use Magento\Framework\DB\Ddl\Table;
  9. use Magento\Framework\Setup\InstallSchemaInterface;
  10. use Magento\Framework\Setup\ModuleContextInterface;
  11. use Magento\Framework\Setup\SchemaSetupInterface;
  12. /**
  13. * Schema Installation Script
  14. *
  15. * @codeCoverageIgnore
  16. */
  17. class InstallSchema implements InstallSchemaInterface
  18. {
  19. /**
  20. * Create table 'vertex_taxrequest'
  21. *
  22. * {@inheritDoc}
  23. *
  24. * MEQP2 Warning: $context necessary for interface
  25. *
  26. * @see \Magento\Framework\Setup\InstallSchemaInterface::install()
  27. * @SuppressWarnings(PHPMD.ExcessiveMethodLength) Over 100 lines due to very verbose table creation
  28. * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  29. */
  30. public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
  31. {
  32. $setup->startSetup();
  33. $table = $setup->getConnection()
  34. ->newTable($setup->getTable('vertex_taxrequest'))
  35. ->addColumn(
  36. 'request_id',
  37. Table::TYPE_SMALLINT,
  38. null,
  39. [
  40. 'identity' => true,
  41. 'nullable' => false,
  42. 'primary' => true
  43. ],
  44. 'Request Id'
  45. )
  46. ->addColumn(
  47. 'request_type',
  48. Table::TYPE_TEXT,
  49. 255,
  50. [
  51. 'nullable' => false
  52. ],
  53. 'Request Type'
  54. )
  55. ->addColumn(
  56. 'quote_id',
  57. Table::TYPE_SMALLINT,
  58. null,
  59. [
  60. 'nullable' => false,
  61. 'default' => '0'
  62. ],
  63. 'Quote ID'
  64. )
  65. ->addColumn(
  66. 'order_id',
  67. Table::TYPE_SMALLINT,
  68. null,
  69. [
  70. 'nullable' => false,
  71. 'default' => '0'
  72. ],
  73. 'Order ID'
  74. )
  75. ->addColumn(
  76. 'total_tax',
  77. Table::TYPE_TEXT,
  78. 255,
  79. [
  80. 'nullable' => false
  81. ],
  82. 'Total Tax Amount'
  83. )
  84. ->addColumn(
  85. 'source_path',
  86. Table::TYPE_TEXT,
  87. 255,
  88. [
  89. 'nullable' => false
  90. ],
  91. 'Source path controller_module_action'
  92. )
  93. ->addColumn(
  94. 'tax_area_id',
  95. Table::TYPE_TEXT,
  96. 255,
  97. [
  98. 'nullable' => false
  99. ],
  100. 'Tax Jurisdictions Id'
  101. )
  102. ->addColumn(
  103. 'sub_total',
  104. Table::TYPE_TEXT,
  105. 255,
  106. [
  107. 'nullable' => false
  108. ],
  109. 'Response Subtotal Amount'
  110. )
  111. ->addColumn(
  112. 'total',
  113. Table::TYPE_TEXT,
  114. 255,
  115. [
  116. 'nullable' => false
  117. ],
  118. 'Response Total Amount'
  119. )
  120. ->addColumn(
  121. 'lookup_result',
  122. Table::TYPE_TEXT,
  123. 255,
  124. [
  125. 'nullable' => false
  126. ],
  127. 'Tax Area Response Lookup Result'
  128. )
  129. ->addColumn(
  130. 'request_date',
  131. Table::TYPE_TIMESTAMP,
  132. null,
  133. [
  134. 'nullable' => false,
  135. 'default' => Table::TIMESTAMP_INIT
  136. ],
  137. 'Request create date'
  138. )
  139. ->addColumn(
  140. 'request_xml',
  141. Table::TYPE_TEXT,
  142. '64k',
  143. [
  144. 'nullable' => false
  145. ],
  146. 'Request XML'
  147. )
  148. ->addColumn(
  149. 'response_xml',
  150. Table::TYPE_TEXT,
  151. '64k',
  152. [
  153. 'nullable' => false
  154. ],
  155. 'Response XML'
  156. )
  157. ->addIndex(
  158. $setup->getIdxName(
  159. 'vertex_taxrequest',
  160. [
  161. 'request_id'
  162. ],
  163. AdapterInterface::INDEX_TYPE_UNIQUE
  164. ),
  165. [
  166. 'request_id'
  167. ],
  168. [
  169. 'type' => AdapterInterface::INDEX_TYPE_UNIQUE
  170. ]
  171. )
  172. ->addIndex(
  173. $setup->getIdxName(
  174. 'vertex_taxrequest',
  175. [
  176. 'request_type'
  177. ]
  178. ),
  179. [
  180. 'request_type'
  181. ]
  182. )
  183. ->addIndex(
  184. $setup->getIdxName(
  185. 'vertex_taxrequest',
  186. [
  187. 'order_id'
  188. ]
  189. ),
  190. [
  191. 'order_id'
  192. ]
  193. )
  194. ->setComment('Log of requests to Vertex');
  195. $setup->getConnection()->createTable($table);
  196. $setup->endSetup();
  197. }
  198. }