m230127_213733_tablas_eventos.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. use yii\db\Migration;
  3. /**
  4. * Class m230127_213733_tablas_eventos
  5. */
  6. class m230127_213733_tablas_eventos extends Migration {
  7. /**
  8. * {@inheritdoc}
  9. */
  10. public function safeUp() {
  11. $this->createTable('Evento', [
  12. "id" => $this->primaryKey(),
  13. "idGrupo" => $this->integer(),
  14. "nombre" => $this->string(100)->notNull(),
  15. "descripcion" => $this->string(255),
  16. "fotoEvento" => $this->text(255),
  17. "tag" => $this->string(50)->unique(),
  18. "url" => $this->string(155)->notNull(),
  19. "fechaInicio" => $this->timestamp() . " with time zone",
  20. "fechaFinal" => $this->timestamp() . " with time zone",
  21. "creado" => $this->timestamp() . " with time zone",
  22. "modificado" => $this->timestamp() . " with time zone",
  23. "eliminado" => $this->timestamp() . " with time zone",
  24. ]);
  25. $this->createTable('Resultado', [
  26. "id" => $this->primaryKey(),
  27. "idUsuario" => $this->integer(),
  28. "idEvento" => $this->integer(),
  29. "accion" => $this->string(20)->comment("ver,likes,compartir"),
  30. "creado" => $this->timestamp() . " with time zone",
  31. "modificado" => $this->timestamp() . " with time zone",
  32. "eliminado" => $this->timestamp() . " with time zone",
  33. ]);
  34. $this->addForeignKey('EventoIdGrupoFK', 'Evento', 'idGrupo', 'Grupo', 'id');
  35. $this->addForeignKey('ResultadoIdUsuarioFK', 'Resultado', 'idUsuario', 'Usuario', 'id');
  36. $this->addForeignKey('ResultadoIdEventoFK', 'Resultado', 'idEvento', 'Evento', 'id');
  37. }
  38. /**
  39. * {@inheritdoc}
  40. */
  41. public function safeDown() {
  42. $this->dropForeignKey("ResultadoIdEventoFK", "Resultado");
  43. $this->dropForeignKey("ResultadoIdUsuarioFK", "Resultado");
  44. $this->dropForeignKey("EventoIdGrupoFK", "Evento");
  45. $this->dropTable('Resultado');
  46. $this->dropTable('Evento');
  47. }
  48. }