m220310_234138_inicio.php 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. use yii\db\Migration;
  3. /**
  4. * Class m220310_234138_inicio
  5. */
  6. class m220310_234138_inicio extends Migration {
  7. /**
  8. * {@inheritdoc}
  9. */
  10. public function safeUp() {
  11. $this->createTable('Usuario', [
  12. "id" => $this->primaryKey(),
  13. "uid" => $this->string(50)->unique(),
  14. "email" => $this->string(100)->notNull(),
  15. "nombre" => $this->string(100)->notNull(),
  16. "telefono" => $this->string(10),
  17. "facebook" => $this->string(100),
  18. "facebookVerificado" => $this->boolean(false),
  19. "instagram" => $this->string(100),
  20. "instagramVerificado" => $this->boolean(false),
  21. "twitter" => $this->string(100),
  22. "twitterVerificado" => $this->boolean(false),
  23. "genero" => $this->string(50)->comment("H: Hombre - M: Mujer"),
  24. "verificado" => $this->timestamp() . " with time zone",
  25. "creado" => $this->timestamp() . " with time zone",
  26. "modificado" => $this->timestamp() . " with time zone",
  27. "eliminado" => $this->timestamp() . " with time zone",
  28. ]);
  29. $this->createTable('Dependencia', [
  30. "id" => $this->primaryKey(),
  31. "nombre" => $this->string(100)->notNull(),
  32. "descripcion" => $this->text(),
  33. "creado" => $this->timestamp() . " with time zone",
  34. "modificado" => $this->timestamp() . " with time zone",
  35. "eliminado" => $this->timestamp() . " with time zone",
  36. ]);
  37. $this->createTable('Grupo', [
  38. "id" => $this->primaryKey(),
  39. "nombre" => $this->string(100)->notNull(),
  40. "descripcion" => $this->text(),
  41. "creado" => $this->timestamp() . " with time zone",
  42. "modificado" => $this->timestamp() . " with time zone",
  43. "eliminado" => $this->timestamp() . " with time zone",
  44. ]);
  45. $this->createTable("UsuarioDependencia", [
  46. "idUsuario" => $this->integer(),
  47. "idDependencia" => $this->integer(),
  48. ]);
  49. $this->createTable("UsuarioGrupo", [
  50. "idUsuario" => $this->integer(),
  51. "idGrupo" => $this->integer(),
  52. ]);
  53. $this->addPrimaryKey('UsuarioGrupoPK', 'UsuarioGrupo', ['idUsuario', 'idGrupo']);
  54. $this->addPrimaryKey('UsuarioDependenciaPK', 'UsuarioDependencia', ['idUsuario', 'idDependencia']);
  55. $this->addForeignKey('UsuarioGrupoIdUsuarioFK', 'UsuarioGrupo', 'idUsuario', 'Usuario', 'id');
  56. $this->addForeignKey('UsuarioGrupoIdGrupoFK', 'UsuarioGrupo', 'idGrupo', 'Grupo', 'id' );
  57. $this->addForeignKey('UsuarioDependenciaIdUsuarioFK', 'UsuarioDependencia', 'idUsuario', 'Usuario', 'id');
  58. $this->addForeignKey('UsuarioDependenciaIdDependenciaFK', 'UsuarioDependencia', 'idDependencia', 'Dependencia', 'id');
  59. }
  60. /**
  61. * {@inheritdoc}
  62. */
  63. public function safeDown() {
  64. $this->dropForeignKey("UsuarioDependenciaIdDependenciaFK", "UsuarioDependencia");
  65. $this->dropForeignKey("UsuarioDependenciaIdUsuarioFK", "UsuarioDependencia");
  66. $this->dropForeignKey("UsuarioGrupoIdGrupoFK", "UsuarioGrupo");
  67. $this->dropForeignKey("UsuarioGrupoIdUsuarioFK", "UsuarioGrupo");
  68. $this->dropPrimaryKey("UsuarioDependenciaPK", "UsuarioDependencia");
  69. $this->dropPrimaryKey("UsuarioGrupoPK", "UsuarioGrupo");
  70. $this->dropTable('UsuarioGrupo');
  71. $this->dropTable('UsuarioDependencia');
  72. $this->dropTable('Grupo');
  73. $this->dropTable('Dependencia');
  74. $this->dropTable('Usuario');
  75. }
  76. }