【问题标题】:How can I fill in a table from a file when using flyway migration scripts使用flyway迁移脚本时如何从文件中填写表格
【发布时间】:2021-11-20 11:23:56
【问题描述】:

我有脚本

/*The extension is used to generate UUID*/
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

-- auto-generated definition
create table users
(
    id  uuid not null DEFAULT uuid_generate_v4 ()
        constraint profile_pkey
            primary key,
    em    varchar(255),
    user varchar(255)
);

在 IDE Intellij Idea(带有 Spring Boot 的项目)中:

  • src/main/resources/db-migration
  • src/main/resources/sql_scripts: 复制.sql 用户.txt

我现在只是尝试运行一个简单的 Sql 命令以查看一切是否正常

  • copy.sql
COPY profile FROM '/sql_scripts/user.txt'
    USING DELIMITERS ',' WITH NULL AS '\null';
  • user.txt

'm@mai.com', 'sara'
's@yandex.ru', 'jacobs'

但是当我运行复制命令时,我得到一个错误

错误:无法打开文件...

也许谁知道它应该如何工作以及需要修复什么?

【问题讨论】:

    标签: postgresql flyway java-16


    【解决方案1】:

    很有可能它是一个路径问题;你可以试试,而不是

    COPY profile FROM '/sql_scripts/user.txt'

    在做

    COPY profile FROM './sql_scripts/user.txt'

    (或绝对路径)

    【讨论】:

    • 我有错误:错误:无法打开文件“./sql_scripts/user.txt”进行阅读:没有这样的文件或....
    • ...当准备从底层操作系统复制文件时,请记住指定的文件必须可由 postmaster 进程(即运行 PostgreSQL 的用户)读取,因为后端直接读取文件。此外,文件名必须提供绝对路径;尝试使用相对路径将导致错误...
    猜你喜欢
    • 2017-03-16
    • 2018-02-28
    • 2021-01-03
    • 2011-11-05
    • 2017-05-21
    • 2020-08-17
    • 2014-05-12
    • 2015-12-10
    • 2016-03-12
    相关资源
    最近更新 更多