m240508_222050_condicionantes.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. use yii\db\Migration;
  3. /**
  4. * Class m240508_222050_condicionantes
  5. */
  6. class m240508_222050_condicionantes extends Migration {
  7. /**
  8. * {@inheritdoc}
  9. */
  10. public function safeUp() {
  11. $this->createTable("Condicionante", [
  12. "id" => $this->string(36),
  13. "titulo" => $this->string(100),
  14. "descripcion" => $this->text(),
  15. "activa" => $this->boolean(),
  16. "amplitud" => $this->string(50),
  17. "idProducto" => $this->string(36),
  18. "subproductos" => $this->text(),
  19. "idCreador" => $this->string(36),
  20. "idModificador" => $this->string(36),
  21. "creado" => $this->timestamp(). " with time zone",
  22. "modificado" => $this->timestamp(). " with time zone",
  23. "eliminado" => $this->timestamp(). " with time zone",
  24. ]);
  25. $this->addPrimaryKey("CondicionantePK", "Condicionante", "id");
  26. $this->addForeignKey("CondicionanteProductoFK", "Condicionante", "idProducto", "Producto", "id");
  27. $this->addForeignKey("CondicionanteCreadorFK", "Condicionante", "idCreador", "Usuario", "id");
  28. $this->addForeignKey("CondicionanteModificadorFK", "Condicionante", "idModificador", "Usuario", "id");
  29. $this->createTable("CondicionanteFin", [
  30. "idFin" => $this->string(36),
  31. "idCondicionante" => $this->string(36),
  32. "creado" => $this->dateTime(),
  33. "modificado" => $this->dateTime(),
  34. "eliminado" => $this->dateTime(),
  35. ]);
  36. $this->addPrimaryKey("CondicionanteFinPK", "CondicionanteFin", ["idFin", "idCondicionante"]);
  37. $this->createTable("CondicionanteTipo", [
  38. "idTipo" => $this->string(36),
  39. "idCondicionante" => $this->string(36),
  40. "creado" => $this->timestamp(). " with time zone",
  41. "modificado" => $this->timestamp(). " with time zone",
  42. "eliminado" => $this->timestamp(). " with time zone",
  43. ]);
  44. $this->addPrimaryKey("CondicionanteTipoPK", "CondicionanteTipo", ["idTipo", "idCondicionante"]);
  45. $this->createTable("CondicionanteOrigen", [
  46. "idOrigen" => $this->string(36),
  47. "idCondicionante" => $this->string(36),
  48. "creado" => $this->timestamp(). " with time zone",
  49. "modificado" => $this->timestamp(). " with time zone",
  50. "eliminado" => $this->timestamp(). " with time zone",
  51. ]);
  52. $this->addPrimaryKey("CondicionanteOrigenPK", "CondicionanteOrigen", ["idOrigen", "idCondicionante"]);
  53. $this->createTable("CondicionanteDestino", [
  54. "idDestino" => $this->string(36),
  55. "idCondicionante" => $this->string(36),
  56. "creado" => $this->timestamp(). " with time zone",
  57. "modificado" => $this->timestamp(). " with time zone",
  58. "eliminado" => $this->timestamp(). " with time zone",
  59. ]);
  60. $this->addPrimaryKey("CondicionanteDestinoPK", "CondicionanteDestino", ["idDestino", "idCondicionante"]);
  61. $this->createTable("CondicionanteCondicionante", [
  62. "id" => $this->string(36),
  63. "idCondicionante" => $this->string(36),
  64. "nombre" => $this->string(100),
  65. "creado" => $this->timestamp(). " with time zone",
  66. "modificado" => $this->timestamp(). " with time zone",
  67. "eliminado" => $this->timestamp(). " with time zone",
  68. ]);
  69. $this->addPrimaryKey("CondicionanteCondicionantePK", "CondicionanteCondicionante", "id");
  70. }
  71. /**
  72. * {@inheritdoc}
  73. */
  74. public function safeDown() {
  75. $this->dropTable("CondicionanteCondicionante");
  76. $this->dropTable("CondicionanteDestino");
  77. $this->dropTable("CondicionanteOrigen");
  78. $this->dropTable("CondicionanteTipo");
  79. $this->dropTable("CondicionanteFin");
  80. $this->dropTable("Condicionante");
  81. }
  82. }