我一直试图将这个(https://github.com/liquibase/liquibase-redshift/releases)插件用于我的Redshift数据库,但一直未能使其工作。我主要面临两个问题。
我看到这两个问题都被标记为已修复(https://github.com/liquibase/liquibase-redshift/issues/9),然而,我仍然面临这些问题。由于项目的性质,我不能在jar文件中手动进行任何更改。因此,如果有人能对此提供任何见解,我将不胜感激。我还在changelog.xml文件中使用dbms=“redshift”
。
事先谢谢你的帮助。
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="devsh0" id="9.9.9.9" logicalFilePath="LOGICALPATH" runOnChange ="true" >
<sqlFile
path="src/main/dbo/app-code.SQL"
dbms="RedshiftDatabase"
stripComments="true"
/>
</changeSet>
</databaseChangeLog>
create table Test_Table
(
col1 VARCHAR(3) not null,
col2 VARCHAR(20) not null,
col3 VARCHAR(50) not null
)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>local_redshift</groupId>
<artifactId>local_redshift</artifactId>
<version>0.0.1-SNAPSHOT</version>
<repositories>
<repository>
<id>redshift</id>
<url>https://s3.amazonaws.com/redshift-maven-repository/release</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
<version>3.10.0</version>
</dependency>
<dependency>
<groupId>com.amazon.redshift</groupId>
<artifactId>redshift-jdbc42</artifactId>
<version>1.2.43.1067</version>
</dependency>
<dependency>
<groupId>org.liquibase.ext</groupId>
<artifactId>liquibase-redshift</artifactId>
<version>3.10.0</version>
</dependency>
<!--dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.8</version>
</dependency> -->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.4.2</version>
<configuration>
<propertyFile>src/main/liquibase.redshift.properties</propertyFile>
<changeLogFile>src/main/changelog/changelog-1.0.0.0.1.xml</changeLogFile>
<promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
</configuration>
</plugin>
</plugins>
</build>
</project>```
在您的changelog.xml中,它是dbms=“redshiftdatabase”
-它应该是dbms=“redshift”
:
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="devsh0" id="9.9.9.9" logicalFilePath="LOGICALPATH" runOnChange ="true" >
<sqlFile
path="src/main/dbo/app-code.SQL"
dbms="redshift"
stripComments="true"
/>
</changeSet>
</databaseChangeLog>
由于错误地指定了RedshiftDatabase将不会被使用。
问题内容: 我正在尝试将Django多数据库配置与MYSQL用作默认数据库,将redshift用作分析数据库。我的配置看起来像这样: 当我尝试迁移分析应用程序时,请使用以下命令 我看到以下错误: 关于如何解决此问题的任何想法?我正在使用和 问题答案: 特定的问题是:Django想要创建一个具有主键的迁移管理表来跟踪迁移历史。Redshift不支持。 但是,这种方法更普遍的问题是,您真的不希望在Re
我在spring-boot应用程序中为数据库配置了以下liquibase配置。 最初,这些YAML脚本是在应用程序启动和数据库创建时执行的,现在我想更新一列的数据类型,所以我需要更新现有的创建表。列配置的YAML,或者需要创建另一个具有不同名称的文件,并将条目添加到“db.changelog-master.yaml”文件中。 请建议,谢谢
我正在尝试迁移到Spring Data R2DBC,我找不到对Amazon Redshift数据库的支持,如果有支持,有人可以帮助我吗? 下面是spring文档url,它支持的数据库很少,但红移不在列表中。https://spring.io/projects/spring-data-r2dbc
我们有一个现有的数据库在生产。我们已经决定使用liquibase进行所有进一步的更新,并创建任何新的数据库(如开发或集成)。 如果我们在生产上执行liquibase,它将尝试进行所有的完全更改,即使是那些已经存在的更改,这不会发生,因为除了两个新的更新之外,生产中已经有了所有的更改。现在我们想使用liquibase将这两个更改单独更新到产品中。 我们怎么能做到这一点?
我的应用程序有以下场景: 1个生产服务器 1个测试服务器 n开发计算机 对于数据库迁移,我们使用Hibernate Schema Update For the Schema和DBUnit来填充所有生产数据(在所有服务器/计算机上)。当模式更新完成后,我为新模式生成一个新的DTD文件,这样我就可以重新导入DBUnitXML。应用程序在启动时使用XML文件更新数据库(仅在开发和测试服务器/计算机上!)
我试过使用和不使用。表和已成功创建,并包含迁移(insert-books)。 迁移是通过的,因为如果我添加了一个无效的insert(到一些不存在的表中),我会得到异常: 如何使用LiquiBase用insert-books.sql脚本中的数据填充数据库?