123456789101112131415161718192021222324252627282930313233343536373839 |
- /*
- Warnings:
- - Changed the type of `name` on the `exercise_attribute_names` table. No cast exists, the column would be dropped and recreated, which cannot be done if there is data, since the column is required.
- - Changed the type of `value` on the `exercise_attribute_values` table. No cast exists, the column would be dropped and recreated, which cannot be done if there is data, since the column is required.
- */
- -- Safe migration for exercise_attribute_names
- -- 1. Add temporary column with enum type
- ALTER TABLE "exercise_attribute_names" ADD COLUMN "name_temp" "ExerciseAttributeNameEnum";
- -- 2. Migrate data from text to enum (cast text to enum)
- UPDATE "exercise_attribute_names" SET "name_temp" = "name"::"ExerciseAttributeNameEnum";
- -- 3. Drop old column and rename temp column
- ALTER TABLE "exercise_attribute_names" DROP COLUMN "name";
- ALTER TABLE "exercise_attribute_names" RENAME COLUMN "name_temp" TO "name";
- -- 4. Set NOT NULL constraint
- ALTER TABLE "exercise_attribute_names" ALTER COLUMN "name" SET NOT NULL;
- -- Safe migration for exercise_attribute_values
- -- 1. Add temporary column with enum type
- ALTER TABLE "exercise_attribute_values" ADD COLUMN "value_temp" "ExerciseAttributeValueEnum";
- -- 2. Migrate data from text to enum (cast text to enum)
- UPDATE "exercise_attribute_values" SET "value_temp" = "value"::"ExerciseAttributeValueEnum";
- -- 3. Drop old column and rename temp column
- ALTER TABLE "exercise_attribute_values" DROP COLUMN "value";
- ALTER TABLE "exercise_attribute_values" RENAME COLUMN "value_temp" TO "value";
- -- 4. Set NOT NULL constraint
- ALTER TABLE "exercise_attribute_values" ALTER COLUMN "value" SET NOT NULL;
- -- Recreate indexes
- CREATE UNIQUE INDEX "exercise_attribute_names_name_key" ON "exercise_attribute_names"("name");
- CREATE UNIQUE INDEX "exercise_attribute_values_attributeNameId_value_key" ON "exercise_attribute_values"("attributeNameId", "value");
|