1
여기에서는 Java/Spring에서 liquibase changeset를 사용하는 스키마를 설정하고 있습니다. 테이블/키 생성 작업이 끝날 때까지는. 그러나 사용자 지정 SQL에서는 작동하지 않습니다.매개 변수가있는 트리거에서 스키마를 설정하려면 어떻게해야합니까?
@Bean
@DependsOn("dataSource")
public SpringLiquibase liquibase() {
SpringLiquibase liquibase = new SpringLiquibase();
liquibase.setDataSource(dataSource);
liquibase.setChangeLog("classpath:META-INF/liquibase/application-changes.xml");
liquibase.setContexts("default");
liquibase.setDefaultSchema(databaseProperties.getJdbcSchema());
return liquibase;
}
이제 큰 개체를 Postgresql에서 관리해야하므로 다음 변경 집합을 추가하고 싶습니다. 하지만 매개 변수를 사용하지 않는 문제가있어서 SQL 파일에 "my_schema"를 추가해야했습니다. 아무도 이것에 대한 해결책이나 해결책을 알고 있습니까? 여기에 해결 방법이 있습니다 @pozs가 지적했듯이
<changeSet id="xxx-0.0.1-SNAPSHOT-postgres" runInTransaction="true" failOnError="true"
onValidationFail="HALT" dbms="postgresql">
<sql >
CREATE TRIGGER t_table BEFORE UPDATE OR DELETE ON my_schema.table
FOR EACH ROW EXECUTE PROCEDURE my_schema.lo_manage(content);
</sql>
</changeSet>
어쩌면 http://forum.liquibase.org/topic/setting-default-schema-working-for-xml-refactorings-but-not-sql? – pozs