Advertisement
Sdelkadrom

Untitled

Jan 21st, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.94 KB | None | 0 0
  1. <?php
  2.  
  3. use Phinx\Db\Adapter\MysqlAdapter;
  4. use Phinx\Migration\AbstractMigration;
  5.  
  6. class TableApartment extends AbstractMigration
  7. {
  8.  
  9. public function up()
  10. {
  11. $table = $this->table('ore_nf_apartment');
  12.  
  13. $table->changeColumn(
  14. 'obj_type_id',
  15. 'integer',
  16. [
  17. 'signed' => false,
  18. 'default' => '0',
  19. 'null' => false,
  20. ]
  21. );
  22.  
  23. $table->changeColumn(
  24. 'loc_country',
  25. 'integer',
  26. [
  27. 'signed' => false,
  28. 'default' => '0',
  29. 'null' => false,
  30. ]
  31. );
  32.  
  33. $table->changeColumn(
  34. 'loc_region',
  35. 'integer',
  36. [
  37. 'signed' => false,
  38. 'default' => '0',
  39. 'null' => false,
  40. ]
  41. );
  42.  
  43. $table->changeColumn(
  44. 'loc_area',
  45. 'integer',
  46. [
  47. 'signed' => false,
  48. 'default' => '0',
  49. 'null' => false,
  50. ]
  51. );
  52.  
  53. $table->changeColumn(
  54. 'loc_city',
  55. 'integer',
  56. [
  57. 'signed' => false,
  58. 'default' => '0',
  59. 'null' => false,
  60. ]
  61. );
  62.  
  63. $table->changeColumn(
  64. 'city_id',
  65. 'integer',
  66. [
  67. 'signed' => false,
  68. 'default' => '0',
  69. 'null' => false,
  70. ]
  71. );
  72.  
  73. $table->changeColumn(
  74. 'visits',
  75. 'integer',
  76. [
  77. 'signed' => false,
  78. 'default' => '0',
  79. 'null' => false,
  80. ]
  81. );
  82.  
  83. $table->changeColumn(
  84. 'activity_always',
  85. 'boolean',
  86. [
  87. 'signed' => false,
  88. 'default' => '0',
  89. 'null' => false
  90. ]
  91. );
  92.  
  93. $table->changeColumn(
  94. 'is_price_poa',
  95. 'integer',
  96. [
  97. 'signed' => false,
  98. 'default' => '0',
  99. 'null' => false,
  100. 'limit' => MysqlAdapter::INT_TINY
  101. ]
  102. );
  103.  
  104. $table->changeColumn(
  105. 'price',
  106. 'integer',
  107. [
  108. 'signed' => false,
  109. 'default' => '0',
  110. 'null' => false,
  111. 'length' => MysqlAdapter::INT_BIG
  112. ]
  113. );
  114.  
  115. $table->changeColumn(
  116. 'price_to',
  117. 'integer',
  118. [
  119. 'signed' => false,
  120. 'default' => '0',
  121. 'null' => false,
  122. 'length' => MysqlAdapter::INT_BIG
  123. ]
  124. );
  125.  
  126. $table->changeColumn(
  127. 'window_to',
  128. 'integer',
  129. [
  130. 'signed' => false,
  131. 'default' => '0',
  132. 'null' => false,
  133. ]
  134. );
  135.  
  136. $table->changeColumn(
  137. 'price_type',
  138. 'boolean',
  139. [
  140. 'signed' => false,
  141. 'default' => '5',
  142. 'null' => false
  143. ]
  144. );
  145.  
  146. $table->changeColumn(
  147. 'sorter',
  148. 'integer',
  149. [
  150. 'signed' => false,
  151. 'default' => '0',
  152. 'null' => false
  153. ]
  154. );
  155.  
  156. $table->changeColumn(
  157. 'owner_id',
  158. 'integer',
  159. [
  160. 'signed' => false,
  161. 'default' => '0',
  162. 'null' => false
  163. ]
  164. );
  165.  
  166. $table->changeColumn(
  167. 'parent_id',
  168. 'integer',
  169. [
  170. 'signed' => false,
  171. 'default' => '0',
  172. 'null' => false
  173. ]
  174. );
  175.  
  176. $table->changeColumn(
  177. 'room_type',
  178. 'integer',
  179. [
  180. 'signed' => false,
  181. 'default' => '0',
  182. 'null' => false
  183. ]
  184. );
  185.  
  186. $table->changeColumn(
  187. 'balcony_type',
  188. 'integer',
  189. [
  190. 'signed' => false,
  191. 'default' => '0',
  192. 'null' => false
  193. ]
  194. );
  195.  
  196. $table->changeColumn(
  197. 'wc_type',
  198. 'integer',
  199. [
  200. 'signed' => false,
  201. 'default' => '0',
  202. 'null' => false
  203. ]
  204. );
  205.  
  206. $table->changeColumn(
  207. 'floor_coat',
  208. 'integer',
  209. [
  210. 'signed' => false,
  211. 'default' => '0',
  212. 'null' => false
  213. ]
  214. );
  215.  
  216. $table->changeColumn(
  217. 'floor_coat',
  218. 'integer',
  219. [
  220. 'signed' => false,
  221. 'default' => '0',
  222. 'null' => false
  223. ]
  224. );
  225.  
  226. $table->changeColumn(
  227. 'garage_type',
  228. 'integer',
  229. [
  230. 'signed' => false,
  231. 'default' => '0',
  232. 'null' => false
  233. ]
  234. );
  235.  
  236. $table->changeColumn(
  237. 'repair',
  238. 'integer',
  239. [
  240. 'signed' => false,
  241. 'default' => '0',
  242. 'null' => false
  243. ]
  244. );
  245.  
  246. $table->changeColumn(
  247. 'object_state',
  248. 'integer',
  249. [
  250. 'signed' => false,
  251. 'default' => '0',
  252. 'null' => false
  253. ]
  254. );
  255.  
  256. $table->changeColumn(
  257. 'building_type',
  258. 'integer',
  259. [
  260. 'signed' => false,
  261. 'default' => '0',
  262. 'null' => false
  263. ]
  264. );
  265.  
  266. $table->changeColumn(
  267. 'plot_type',
  268. 'integer',
  269. [
  270. 'signed' => false,
  271. 'default' => '0',
  272. 'null' => false
  273. ]
  274. );
  275.  
  276. //Удаляю старые ключи
  277. $keys = [
  278. 'type',
  279. 'price_type',
  280. 'title_ru',
  281. 'title_en',
  282. 'title_de',
  283. 'title_es',
  284. 'title_ar',
  285. 'description_ru',
  286. 'description_en',
  287. 'description_de',
  288. 'description_es',
  289. 'description_ar',
  290. 'description_near_ru',
  291. 'description_near_en',
  292. 'description_near_de',
  293. 'description_near_es',
  294. 'description_near_ar',
  295. 'address_ru',
  296. 'address_en',
  297. 'address_de',
  298. 'address_es',
  299. 'address_ar',
  300. ];
  301.  
  302. foreach ($keys as $keyName) {
  303. $table->removeIndexByName($keyName);
  304. }
  305.  
  306. // Добавляю новые ключи
  307.  
  308. $keys = [
  309. 'halfActiveLocCity' => [
  310. 'loc_city',
  311. 'active'
  312. ],
  313. 'halfActiveCity' => [
  314. 'city_id',
  315. 'active'
  316. ],
  317. 'fullActiveLocCity' => [
  318. 'loc_city',
  319. 'active',
  320. 'owner_active'
  321. ],
  322. 'fullActiveCity' => [
  323. 'city_id',
  324. 'active',
  325. 'owner_active'
  326. ],
  327. 'halfActiveObjTypeLocCity' => [
  328. 'obj_type_id',
  329. 'loc_city',
  330. 'active'
  331. ],
  332. 'halfActiveObjTypeCity' => [
  333. 'obj_type_id',
  334. 'city_id',
  335. 'active'
  336. ],
  337. 'fullActiveObjTypeLocCity' => [
  338. 'obj_type_id',
  339. 'loc_city',
  340. 'active',
  341. 'owner_active'
  342. ],
  343. 'fullActiveObjTypeCity' => [
  344. 'obj_type_id',
  345. 'city_id',
  346. 'active',
  347. 'owner_active'
  348. ],
  349. 'sorterActive' => [
  350. 'sorter',
  351. 'active'
  352. ],
  353. ];
  354.  
  355. foreach ($keys as $keyName => $keyFields) {
  356. $table->addIndex(
  357. $keyFields,
  358. ['name' => $keyName]
  359. );
  360. }
  361.  
  362. $table->save();
  363. }
  364.  
  365. public function down()
  366. {
  367. $table = $this->table('ore_nf_apartment');
  368.  
  369. $table->changeColumn(
  370. 'obj_type_id',
  371. 'integer',
  372. [
  373. 'signed' => true,
  374. 'default' => '0',
  375. 'null' => false,
  376. ]
  377. );
  378.  
  379. $table->changeColumn(
  380. 'loc_country',
  381. 'integer',
  382. [
  383. 'signed' => true,
  384. 'default' => '0',
  385. 'null' => false,
  386. ]
  387. );
  388.  
  389. $table->changeColumn(
  390. 'loc_region',
  391. 'integer',
  392. [
  393. 'signed' => true,
  394. 'default' => '0',
  395. 'null' => false,
  396. ]
  397. );
  398.  
  399. $table->changeColumn(
  400. 'loc_area',
  401. 'integer',
  402. [
  403. 'signed' => true,
  404. 'default' => '0',
  405. 'null' => false,
  406. ]
  407. );
  408.  
  409. $table->changeColumn(
  410. 'loc_city',
  411. 'integer',
  412. [
  413. 'signed' => true,
  414. 'default' => '0',
  415. 'null' => false,
  416. ]
  417. );
  418.  
  419. $table->changeColumn(
  420. 'city_id',
  421. 'integer',
  422. [
  423. 'signed' => true,
  424. 'default' => '0',
  425. 'null' => false,
  426. ]
  427. );
  428.  
  429. $table->changeColumn(
  430. 'visits',
  431. 'integer',
  432. [
  433. 'signed' => true,
  434. 'default' => '0',
  435. 'null' => false,
  436. ]
  437. );
  438.  
  439. $table->changeColumn(
  440. 'activity_always',
  441. 'boolean',
  442. [
  443. 'signed' => true,
  444. 'default' => '0',
  445. 'null' => false
  446. ]
  447. );
  448.  
  449. $table->changeColumn(
  450. 'is_price_poa',
  451. 'integer',
  452. [
  453. 'signed' => true,
  454. 'default' => '0',
  455. 'null' => false,
  456. 'limit' => MysqlAdapter::INT_TINY
  457. ]
  458. );
  459.  
  460. $table->changeColumn(
  461. 'price',
  462. 'integer',
  463. [
  464. 'signed' => true,
  465. 'default' => '0',
  466. 'null' => false,
  467. 'length' => MysqlAdapter::INT_BIG
  468. ]
  469. );
  470.  
  471. $table->changeColumn(
  472. 'price_to',
  473. 'integer',
  474. [
  475. 'signed' => true,
  476. 'default' => '0',
  477. 'null' => false,
  478. 'length' => MysqlAdapter::INT_BIG
  479. ]
  480. );
  481.  
  482. $table->changeColumn(
  483. 'window_to',
  484. 'integer',
  485. [
  486. 'signed' => true,
  487. 'default' => '0',
  488. 'null' => false,
  489. ]
  490. );
  491.  
  492. $table->changeColumn(
  493. 'price_type',
  494. 'boolean',
  495. [
  496. 'signed' => true,
  497. 'default' => '5',
  498. 'null' => false
  499. ]
  500. );
  501.  
  502. $table->changeColumn(
  503. 'sorter',
  504. 'integer',
  505. [
  506. 'signed' => true,
  507. 'default' => '0',
  508. 'null' => false
  509. ]
  510. );
  511.  
  512. $table->changeColumn(
  513. 'owner_id',
  514. 'integer',
  515. [
  516. 'signed' => true,
  517. 'default' => '0',
  518. 'null' => false
  519. ]
  520. );
  521.  
  522. $table->changeColumn(
  523. 'parent_id',
  524. 'integer',
  525. [
  526. 'signed' => true,
  527. 'default' => '0',
  528. 'null' => false
  529. ]
  530. );
  531.  
  532. $table->changeColumn(
  533. 'room_type',
  534. 'integer',
  535. [
  536. 'signed' => true,
  537. 'default' => '0',
  538. 'null' => false
  539. ]
  540. );
  541.  
  542. $table->changeColumn(
  543. 'balcony_type',
  544. 'integer',
  545. [
  546. 'signed' => true,
  547. 'default' => '0',
  548. 'null' => false
  549. ]
  550. );
  551.  
  552. $table->changeColumn(
  553. 'wc_type',
  554. 'integer',
  555. [
  556. 'signed' => true,
  557. 'default' => '0',
  558. 'null' => false
  559. ]
  560. );
  561.  
  562. $table->changeColumn(
  563. 'floor_coat',
  564. 'integer',
  565. [
  566. 'signed' => true,
  567. 'default' => '0',
  568. 'null' => false
  569. ]
  570. );
  571.  
  572. $table->changeColumn(
  573. 'floor_coat',
  574. 'integer',
  575. [
  576. 'signed' => true,
  577. 'default' => '0',
  578. 'null' => false
  579. ]
  580. );
  581.  
  582. $table->changeColumn(
  583. 'garage_type',
  584. 'integer',
  585. [
  586. 'signed' => true,
  587. 'default' => '0',
  588. 'null' => false
  589. ]
  590. );
  591.  
  592. $table->changeColumn(
  593. 'repair',
  594. 'integer',
  595. [
  596. 'signed' => true,
  597. 'default' => '0',
  598. 'null' => false
  599. ]
  600. );
  601.  
  602. $table->changeColumn(
  603. 'object_state',
  604. 'integer',
  605. [
  606. 'signed' => true,
  607. 'default' => '0',
  608. 'null' => false
  609. ]
  610. );
  611.  
  612. $table->changeColumn(
  613. 'building_type',
  614. 'integer',
  615. [
  616. 'signed' => true,
  617. 'default' => '0',
  618. 'null' => false
  619. ]
  620. );
  621.  
  622. $table->changeColumn(
  623. 'plot_type',
  624. 'integer',
  625. [
  626. 'signed' => true,
  627. 'default' => '0',
  628. 'null' => false
  629. ]
  630. );
  631.  
  632. //Восстанавливаю старые ключи
  633. $table->addIndex(
  634. ['type'],
  635. ['name' => 'type']
  636. );
  637.  
  638. $table->addIndex(
  639. ['price_type'],
  640. ['name' => 'price_type']
  641. );
  642.  
  643. $fullTextKeys = [
  644. 'title_ru',
  645. 'title_en',
  646. 'title_de',
  647. 'title_es',
  648. 'title_ar',
  649. 'description_ru',
  650. 'description_en',
  651. 'description_de',
  652. 'description_es',
  653. 'description_ar',
  654. 'description_near_ru',
  655. 'description_near_en',
  656. 'description_near_de',
  657. 'description_near_es',
  658. 'description_near_ar',
  659. 'address_ru',
  660. 'address_en',
  661. 'address_de',
  662. 'address_es',
  663. 'address_ar',
  664. ];
  665.  
  666. foreach ($fullTextKeys as $keyName) {
  667. $table->addIndex(
  668. [$keyName],
  669. [
  670. 'name' => $keyName,
  671. 'type' => 'fulltext'
  672. ]
  673. );
  674. }
  675.  
  676. // Удаляю новые ключи
  677. $keys = [
  678. 'halfActiveLocCity',
  679. 'halfActiveCity',
  680. 'fullActiveLocCity',
  681. 'fullActiveCity',
  682. 'halfActiveObjTypeLocCity',
  683. 'halfActiveObjTypeCity',
  684. 'fullActiveObjTypeLocCity',
  685. 'fullActiveObjTypeCity',
  686. 'sorterActive',
  687. ];
  688.  
  689. foreach ($keys as $keyName) {
  690. $table->removeIndexByName($keyName);
  691. }
  692.  
  693. $table->save();
  694. }
  695.  
  696. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement