85 lines
2.8 KiB
SQL
85 lines
2.8 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "Cliente" (
|
|
"id" BIGSERIAL NOT NULL,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT (now() AT TIME ZONE 'utc'),
|
|
"updated_at" TIMESTAMP(3) NOT NULL DEFAULT (now() AT TIME ZONE 'utc'),
|
|
"name" TEXT NOT NULL,
|
|
"cedula" BIGINT NOT NULL,
|
|
"ubicacion" TEXT NOT NULL DEFAULT '.',
|
|
"grupo_estudio" TEXT,
|
|
"empleado" BOOLEAN NOT NULL DEFAULT false,
|
|
"avatar_url" TEXT,
|
|
"telefono" TEXT,
|
|
"idciat" TEXT,
|
|
|
|
CONSTRAINT "Cliente_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Planilla" (
|
|
"id" BIGSERIAL NOT NULL,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT (now() AT TIME ZONE 'utc'),
|
|
"updated_at" TIMESTAMP(3) NOT NULL DEFAULT (now() AT TIME ZONE 'utc'),
|
|
"fecha_desde" TIMESTAMP(3) NOT NULL,
|
|
"fecha_hasta" TIMESTAMP(3) NOT NULL,
|
|
"titulo" TEXT NOT NULL,
|
|
"total" DECIMAL(65,30),
|
|
"estado" TEXT NOT NULL DEFAULT 'pagado',
|
|
"fecha_anulado" TIMESTAMP(3),
|
|
"empleado_id" BIGINT NOT NULL,
|
|
"creador_id" UUID,
|
|
"anulador_id" UUID,
|
|
|
|
CONSTRAINT "Planilla_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "TareaRealizada" (
|
|
"id" BIGSERIAL NOT NULL,
|
|
"empleado_id" BIGINT NOT NULL,
|
|
"planilla_id" BIGINT,
|
|
"titulo" TEXT NOT NULL,
|
|
"precio" DOUBLE PRECISION,
|
|
"estado" TEXT NOT NULL DEFAULT 'pendiente',
|
|
"observacion" TEXT,
|
|
"fecha" TIMESTAMP(3) NOT NULL,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT (now() AT TIME ZONE 'utc'),
|
|
"tipo" TEXT NOT NULL DEFAULT '',
|
|
"fecha_anulado" TIMESTAMP(3),
|
|
"creador_id" UUID NOT NULL,
|
|
"anulador_id" UUID,
|
|
|
|
CONSTRAINT "TareaRealizada_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Asistencia" (
|
|
"id" BIGSERIAL NOT NULL,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT (now() AT TIME ZONE 'utc'),
|
|
"updated_at" TIMESTAMP(3) NOT NULL DEFAULT (now() AT TIME ZONE 'utc'),
|
|
"entrada" TIMESTAMP(3) DEFAULT (now() AT TIME ZONE 'utc'),
|
|
"salida" TIMESTAMP(3),
|
|
"historial" JSONB,
|
|
"observacion" TEXT,
|
|
"estado" TEXT DEFAULT 'pendiente',
|
|
"fecha_anulado" TIMESTAMP(3),
|
|
"empleado_id" BIGINT NOT NULL,
|
|
"creador_id" UUID NOT NULL,
|
|
"modificado_id" UUID,
|
|
"anulador_id" UUID,
|
|
|
|
CONSTRAINT "Asistencia_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "Cliente_cedula_key" ON "Cliente"("cedula");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Planilla" ADD CONSTRAINT "Planilla_empleado_id_fkey" FOREIGN KEY ("empleado_id") REFERENCES "Cliente"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "TareaRealizada" ADD CONSTRAINT "TareaRealizada_empleado_id_fkey" FOREIGN KEY ("empleado_id") REFERENCES "Cliente"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Asistencia" ADD CONSTRAINT "Asistencia_empleado_id_fkey" FOREIGN KEY ("empleado_id") REFERENCES "Cliente"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|