Play Evolutions:出现语法错误。是什么赋予了?
Play Evolutions: getting a syntax error. What gives?
我正在尝试编写一个演变文件,但不断收到令我困惑的语法错误。下面是整个进化过程。
我收到的错误消息是:syntax error at end of input Position: 32 [ERROR:0, SQLSTATE:42601]
堆栈:
Play Framework 2.4
PostgreSQL 9.4
光滑 3.1.1
斯卡拉 2.11
Play-Slick 1.1.1
Play-Slick Evolutions 1.1.1
我可以 运行 手动执行 ups 脚本和 downs 脚本。我已经尝试删除我的数据库并 运行 从头开始完成我的所有演变,并不断收到此错误。
什么给了?我找不到我的语法有什么问题。
# --- !Ups
ALTER TABLE "blockly_challenge"
ADD COLUMN "diagram" CHAR(10) NOT NULL DEFAULT 'none',
ADD COLUMN "success_diagram" CHAR(10),
ADD COLUMN "robot_type" SMALLINT NOT NULL DEFAULT 1001,
ADD COLUMN "icon" CHAR(10);
CREATE TABLE "blockly_challenge_coordinates" (
"id" SERIAL,
PRIMARY KEY (id),
"x" SMALLINT NOT NULL,
"y" SMALLINT NOT NULL,
"challenge_uuid" CHAR(10) NOT NULL,
"dependent_on_uuid" CHAR(10)[] NOT NULL DEFAULT '{}',
"created_at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX "blockly_coordinates_challenge_uuid_idx" ON "blockly_challenge_coordinates" ("challenge_uuid");
CREATE INDEX "blockly_coordinates_challenge_depends_on_uuid_idx" ON "blockly_challenge_coordinates" ("dependent_on_uuid");
# --- !Downs
ALTER TABLE "blockly_challenge"
DROP COLUMN IF EXISTS "diagram",
DROP COLUMN IF EXISTS "success_diagram",
DROP COLUMN IF EXISTS "robot_type",
DROP COLUMN IF EXISTS "icon",
DROP COLUMN IF EXISTS "dependent_on",
DROP COLUMN IF EXISTS "coordinates_y",
DROP COLUMN IF EXISTS "coordinates_x";
DROP INDEX IF EXISTS "blockly_coordinates_challenge_uuid_idx" CASCADE;
DROP INDEX IF EXISTS "blockly_coordinates_challenge_depends_on_uuid_idx" CASCADE;
DROP TABLE IF EXISTS "blockly_challenge_coordinates";
截图:
我想通了。这个文件是我的 2.sql,我已经开始处理 3.sql 但删除了它而不是重构我的 2.sql。似乎有一些编译步骤可以获取我的进化文件并根据它生成一些东西。一旦我 运行 和 sbt clean
一切都开始正常工作。
我正在尝试编写一个演变文件,但不断收到令我困惑的语法错误。下面是整个进化过程。
我收到的错误消息是:syntax error at end of input Position: 32 [ERROR:0, SQLSTATE:42601]
堆栈:
Play Framework 2.4
PostgreSQL 9.4
光滑 3.1.1
斯卡拉 2.11
Play-Slick 1.1.1
Play-Slick Evolutions 1.1.1
我可以 运行 手动执行 ups 脚本和 downs 脚本。我已经尝试删除我的数据库并 运行 从头开始完成我的所有演变,并不断收到此错误。
什么给了?我找不到我的语法有什么问题。
# --- !Ups
ALTER TABLE "blockly_challenge"
ADD COLUMN "diagram" CHAR(10) NOT NULL DEFAULT 'none',
ADD COLUMN "success_diagram" CHAR(10),
ADD COLUMN "robot_type" SMALLINT NOT NULL DEFAULT 1001,
ADD COLUMN "icon" CHAR(10);
CREATE TABLE "blockly_challenge_coordinates" (
"id" SERIAL,
PRIMARY KEY (id),
"x" SMALLINT NOT NULL,
"y" SMALLINT NOT NULL,
"challenge_uuid" CHAR(10) NOT NULL,
"dependent_on_uuid" CHAR(10)[] NOT NULL DEFAULT '{}',
"created_at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX "blockly_coordinates_challenge_uuid_idx" ON "blockly_challenge_coordinates" ("challenge_uuid");
CREATE INDEX "blockly_coordinates_challenge_depends_on_uuid_idx" ON "blockly_challenge_coordinates" ("dependent_on_uuid");
# --- !Downs
ALTER TABLE "blockly_challenge"
DROP COLUMN IF EXISTS "diagram",
DROP COLUMN IF EXISTS "success_diagram",
DROP COLUMN IF EXISTS "robot_type",
DROP COLUMN IF EXISTS "icon",
DROP COLUMN IF EXISTS "dependent_on",
DROP COLUMN IF EXISTS "coordinates_y",
DROP COLUMN IF EXISTS "coordinates_x";
DROP INDEX IF EXISTS "blockly_coordinates_challenge_uuid_idx" CASCADE;
DROP INDEX IF EXISTS "blockly_coordinates_challenge_depends_on_uuid_idx" CASCADE;
DROP TABLE IF EXISTS "blockly_challenge_coordinates";
截图:
我想通了。这个文件是我的 2.sql,我已经开始处理 3.sql 但删除了它而不是重构我的 2.sql。似乎有一些编译步骤可以获取我的进化文件并根据它生成一些东西。一旦我 运行 和 sbt clean
一切都开始正常工作。