Mos*_*atz 6 postgresql syntax-highlighting visual-studio-code
我有很多.sql来自 PostgreSQL 数据库的文件。
(为了完整起见,它们是使用pg_extractor生成的,作为在 git 中签入数据库骨架的一种方式。有数百个 PL/pgSQL 函数也需要作为应用程序代码的一部分进行签入。开发人员致力于在其本地数据库服务器上运行函数,然后将其函数更改签入 git。)
在这些文件中,数据使用 PostgreSQL 命令表示COPY。
例如我们的骨架数据库有如下表和数据:
CREATE TABLE roles (
id serial NOT NULL,
name text NOT NULL,
name_display text NOT NULL,
order_display integer NOT NULL
);
COPY roles (id, name, name_display, order_display) FROM stdin;
1 MASTER Master 1
2 ORGANIZATION_ADMIN Organization Admin 2
3 REGIONAL_ADMIN Regional Admin 3
4 BRANCH_ADMIN Branch Admin 5
5 SECURITY_ADMIN Security Admin 8
6 BRANCH_MANAGER Branch Manager 6
7 BRANCH_STAFF Branch Staff 7
8 SECURITY_OPERATOR Security Operator 9
9 REGIONAL_MANAGER Regional Manager 4
\.
Run Code Online (Sandbox Code Playgroud)
虽然上面的例子很简单,但有些例子要复杂得多。
我遇到的问题是当表包含带有单引号或双引号的数据时。在这种情况下,Visual Studio Code 认为标记应该打开带引号的字符串,并弄乱了文件其余部分的语法突出显示。在引用字符串的实际情况下,这不是问题,但如果某些文本包含所有格(或收缩)撇号,则会导致文件的其余部分(除非有另一个撇号)被视为引用文本。
问题是无法转义输入中的撇号,COPY因为它应该是原始值(换行符、空值、分隔符(默认情况下为制表符)和转义字符 ( \) 本身除外)。
有没有办法让 VSCode 忽略正文中的引号COPY(从语句末尾的分号COPY到正文\.结束的分号)?
| 归档时间: |
|
| 查看次数: |
1642 次 |
| 最近记录: |