createTable('Usuario', [ "id" => $this->primaryKey(), "uid" => $this->string(50)->unique(), "email" => $this->string(100)->notNull(), "nombre" => $this->string(100)->notNull(), "telefono" => $this->string(10), "facebook" => $this->string(100), "facebookVerificado" => $this->boolean(false), "instagram" => $this->string(100), "instagramVerificado" => $this->boolean(false), "twitter" => $this->string(100), "twitterVerificado" => $this->boolean(false), "genero" => $this->string(50)->comment("H: Hombre - M: Mujer"), "verificado" => $this->timestamp() . " with time zone", "creado" => $this->timestamp() . " with time zone", "modificado" => $this->timestamp() . " with time zone", "eliminado" => $this->timestamp() . " with time zone", ]); $this->createTable('Dependencia', [ "id" => $this->primaryKey(), "nombre" => $this->string(100)->notNull(), "descripcion" => $this->text(), "creado" => $this->timestamp() . " with time zone", "modificado" => $this->timestamp() . " with time zone", "eliminado" => $this->timestamp() . " with time zone", ]); $this->createTable('Grupo', [ "id" => $this->primaryKey(), "nombre" => $this->string(100)->notNull(), "descripcion" => $this->text(), "creado" => $this->timestamp() . " with time zone", "modificado" => $this->timestamp() . " with time zone", "eliminado" => $this->timestamp() . " with time zone", ]); $this->createTable("UsuarioDependencia", [ "idUsuario" => $this->integer(), "idDependencia" => $this->integer(), ]); $this->createTable("UsuarioGrupo", [ "idUsuario" => $this->integer(), "idGrupo" => $this->integer(), ]); $this->addPrimaryKey('UsuarioGrupoPK', 'UsuarioGrupo', ['idUsuario', 'idGrupo']); $this->addPrimaryKey('UsuarioDependenciaPK', 'UsuarioDependencia', ['idUsuario', 'idDependencia']); $this->addForeignKey('UsuarioGrupoIdUsuarioFK', 'UsuarioGrupo', 'idUsuario', 'Usuario', 'id'); $this->addForeignKey('UsuarioGrupoIdGrupoFK', 'UsuarioGrupo', 'idGrupo', 'Grupo', 'id' ); $this->addForeignKey('UsuarioDependenciaIdUsuarioFK', 'UsuarioDependencia', 'idUsuario', 'Usuario', 'id'); $this->addForeignKey('UsuarioDependenciaIdDependenciaFK', 'UsuarioDependencia', 'idDependencia', 'Dependencia', 'id'); } /** * {@inheritdoc} */ public function safeDown() { $this->dropForeignKey("UsuarioDependenciaIdDependenciaFK", "UsuarioDependencia"); $this->dropForeignKey("UsuarioDependenciaIdUsuarioFK", "UsuarioDependencia"); $this->dropForeignKey("UsuarioGrupoIdGrupoFK", "UsuarioGrupo"); $this->dropForeignKey("UsuarioGrupoIdUsuarioFK", "UsuarioGrupo"); $this->dropPrimaryKey("UsuarioDependenciaPK", "UsuarioDependencia"); $this->dropPrimaryKey("UsuarioGrupoPK", "UsuarioGrupo"); $this->dropTable('UsuarioGrupo'); $this->dropTable('UsuarioDependencia'); $this->dropTable('Grupo'); $this->dropTable('Dependencia'); $this->dropTable('Usuario'); } }