DBeaver 不保留 import/export 上的主键
DBeaver does not keep primary keys on import/export
我正在使用 DBeaver 将数据从 Postgres 迁移到 Derby。当我使用 DBeaver 中的向导直接从一个 table 转到另一个时,正在生成 Derby 中的主键而不是插入。这会导致后续 table 的外键出现问题。
如果我生成 SQL,主键是 SQL 语句的一部分并且已正确插入。但是,以这种方式处理的行太多。
有没有办法让 DBeaver 插入主键而不是在直接导入/导出到数据库时生成主键 tables?
目标架构 table
CREATE TABLE APP.THREE_PHASE_MOTOR (
ID BIGINT NOT NULL DEFAULT GENERATED_BY_DEFAULT,
VERSION INTEGER NOT NULL,
CONSTRAINT SQL130812103636700 PRIMARY KEY (ID)
);
CREATE INDEX SQL160416184259290 ON APP.THREE_PHASE_MOTOR (ID);
源架构 table
CREATE TABLE public.three_phase_motor (
id int8 NOT NULL DEFAULT nextval('three_phase_motor_id_seq'::regclass),
"version" int4 NOT NULL,
CONSTRAINT three_phase_motor_pkey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
我发现了一个使用 6.0.5 版本的技巧;执行以下步骤:
- 双击 table 名称
- 然后 select
Data
选项卡
- 然后单击灰色 table 角(行序号顶部的那个)以便 select 所有行
- 然后右击相同的灰色table角
- 然后 select
Generate SQL
-> INSERT
菜单
a window 带有 INSERT
指令,包括 id
(主键)将弹出。
PS:当 select 访问行的子集时,相同的菜单也只适用于那些
导出时,勾选Include generated column
选项,主键(自增)将包含在导出中。
有关详细信息,请参阅此内容:https://github.com/dbeaver/dbeaver/commit/d1f74ec88183d78c7c6620690ced217a52555262
我个人认为这需要更清楚,为什么他们首先将其排除在外是因为数据完整性不好。
我正在使用 DBeaver 将数据从 Postgres 迁移到 Derby。当我使用 DBeaver 中的向导直接从一个 table 转到另一个时,正在生成 Derby 中的主键而不是插入。这会导致后续 table 的外键出现问题。
如果我生成 SQL,主键是 SQL 语句的一部分并且已正确插入。但是,以这种方式处理的行太多。
有没有办法让 DBeaver 插入主键而不是在直接导入/导出到数据库时生成主键 tables?
目标架构 table
CREATE TABLE APP.THREE_PHASE_MOTOR (
ID BIGINT NOT NULL DEFAULT GENERATED_BY_DEFAULT,
VERSION INTEGER NOT NULL,
CONSTRAINT SQL130812103636700 PRIMARY KEY (ID)
);
CREATE INDEX SQL160416184259290 ON APP.THREE_PHASE_MOTOR (ID);
源架构 table
CREATE TABLE public.three_phase_motor (
id int8 NOT NULL DEFAULT nextval('three_phase_motor_id_seq'::regclass),
"version" int4 NOT NULL,
CONSTRAINT three_phase_motor_pkey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
我发现了一个使用 6.0.5 版本的技巧;执行以下步骤:
- 双击 table 名称
- 然后 select
Data
选项卡 - 然后单击灰色 table 角(行序号顶部的那个)以便 select 所有行
- 然后右击相同的灰色table角
- 然后 select
Generate SQL
->INSERT
菜单
a window 带有 INSERT
指令,包括 id
(主键)将弹出。
PS:当 select 访问行的子集时,相同的菜单也只适用于那些
导出时,勾选Include generated column
选项,主键(自增)将包含在导出中。
有关详细信息,请参阅此内容:https://github.com/dbeaver/dbeaver/commit/d1f74ec88183d78c7c6620690ced217a52555262
我个人认为这需要更清楚,为什么他们首先将其排除在外是因为数据完整性不好。