liquibase - Liquibase 运行 sqlFile 更改两次
问题描述
出于某种原因,Liquibase 运行了两次 sql 文件,我不明白为什么:
2021-05-04 12:17:50.341 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : SET @role_org_viewer_id = (SELECT id FROM auth_roles WHERE name='org_viewer')
2021-05-04 12:17:50.341 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : SET @role_domain_viewer_id = (SELECT id FROM auth_roles WHERE name='domain_viewer')
2021-05-04 12:17:50.341 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : SET @role_domain_editor_id = (SELECT id FROM auth_roles WHERE name='domain_editor')
2021-05-04 12:17:50.342 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : SET @role_domain_manager_id = (SELECT id FROM auth_roles WHERE name='domain_manager')
2021-05-04 12:17:50.342 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : SET @role_ep_admin = (SELECT id FROM auth_roles WHERE name='ep_admin')
2021-05-04 12:17:50.342 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : SET @perm_user_read_id = (SELECT id FROM auth_permissions WHERE resource_type='user' AND action='read')
2021-05-04 12:17:50.343 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : SET @perm_role_read_id = (SELECT id FROM auth_permissions WHERE resource_type='role' AND action='read')
2021-05-04 12:17:50.343 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : SET @perm_catalog_screen_view_id = (SELECT id FROM auth_permissions WHERE resource_type='catalog_screen' AND action='view')
2021-05-04 12:17:50.343 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : SET @perm_api_products_screen_view_id = (SELECT id FROM auth_permissions WHERE resource_type='api_products_screen' AND action='view')
2021-05-04 12:17:50.344 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : SET @perm_api_product_read_id = (SELECT id FROM auth_permissions WHERE resource_type='api_product' AND action='read')
2021-05-04 12:17:50.344 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : SET @perm_shared_schema_read_id = (SELECT id FROM auth_permissions WHERE resource_type='shared_schema' AND action='read')
2021-05-04 12:17:50.344 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : SET @perm_shared_event_read_id = (SELECT id FROM auth_permissions WHERE resource_type='shared_event' AND action='read')
2021-05-04 12:17:50.345 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : INSERT INTO auth_roles_to_permissions_assn (role_id, permission_id) VALUES (@role_org_viewer_id, @perm_user_read_id)
2021-05-04 12:17:50.345 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : INSERT INTO auth_roles_to_permissions_assn (role_id, permission_id) VALUES (@role_org_viewer_id, @perm_role_read_id)
2021-05-04 12:17:50.346 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : INSERT INTO auth_roles_to_permissions_assn (role_id, permission_id) VALUES (@role_org_viewer_id, @perm_catalog_screen_view_id)
2021-05-04 12:17:50.346 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : INSERT INTO auth_roles_to_permissions_assn (role_id, permission_id) VALUES (@role_org_viewer_id, @perm_api_products_screen_view_id)
2021-05-04 12:17:50.346 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : INSERT INTO auth_roles_to_permissions_assn (role_id, permission_id) VALUES (@role_org_viewer_id, @perm_api_product_read_id)
2021-05-04 12:17:50.346 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : INSERT INTO auth_roles_to_permissions_assn (role_id, permission_id) VALUES (@role_org_viewer_id, @perm_shared_schema_read_id)
2021-05-04 12:17:50.346 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : INSERT INTO auth_roles_to_permissions_assn (role_id, permission_id) VALUES (@role_org_viewer_id, @perm_shared_event_read_id)
2021-05-04 12:17:50.347 INFO [] 15667 --- [ main] liquibase.changelog.ChangeSet : SQL in file sqlFiles/003_insert_roles_to_permissions_assn.sql executed
2021-05-04 12:17:50.347 INFO [] 15667 --- [ main] liquibase.changelog.ChangeSet : ChangeSet db/changesets/206_insert_into_roles_to_permissions_assn.json::DATAGO-XXX-7::imochurad ran successfully in 9ms
2021-05-04 12:17:50.347 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : INSERT INTO maas.DATABASECHANGELOG (ID, AUTHOR, FILENAME, DATEEXECUTED, ORDEREXECUTED, MD5SUM, `DESCRIPTION`, COMMENTS, EXECTYPE, CONTEXTS, LABELS, LIQUIBASE, DEPLOYMENT_ID) VALUES ('DATAGO-XXX-7', 'imochurad', 'db/changesets/206_insert_into_roles_to_permissions_assn.json', NOW(), 173, '8:92cdcc74836d90921bd449bc56db79e9', 'sqlFile', 'DATAGO-XXX: Fine-grained RBAC', 'EXECUTED', NULL, NULL, '3.8.9', '0145070044')
2021-05-04 12:17:50.350 INFO [] 15667 --- [ main] liquibase.executor.jvm.JdbcExecutor : SET @role_org_viewer_id = (SELECT id FROM auth_roles WHERE name='org_viewer');
SET @role_domain_viewer_id = (SELECT id FROM auth_roles WHERE name='domain_viewer');
SET @role_domain_editor_id = (SELECT id FROM auth_roles WHERE name='domain_editor');
SET @role_domain_manager_id = (SELECT id FROM auth_roles WHERE name='domain_manager');
SET @role_ep_admin = (SELECT id FROM auth_roles WHERE name='ep_admin');
SET @perm_user_read_id = (SELECT id FROM auth_permissions WHERE resource_type='user' AND action='read');
SET @perm_role_read_id = (SELECT id FROM auth_permissions WHERE resource_type='role' AND action='read');
SET @perm_catalog_screen_view_id = (SELECT id FROM auth_permissions WHERE resource_type='catalog_screen' AND action='view');
SET @perm_api_products_screen_view_id = (SELECT id FROM auth_permissions WHERE resource_type='api_products_screen' AND action='view');
SET @perm_api_product_read_id = (SELECT id FROM auth_permissions WHERE resource_type='api_product' AND action='read');
SET @perm_shared_schema_read_id = (SELECT id FROM auth_permissions WHERE resource_type='shared_schema' AND action='read');
SET @perm_shared_event_read_id = (SELECT id FROM auth_permissions WHERE resource_type='shared_event' AND action='read');
INSERT INTO auth_roles_to_permissions_assn (role_id, permission_id) VALUES (@role_org_viewer_id, @perm_user_read_id);
INSERT INTO auth_roles_to_permissions_assn (role_id, permission_id) VALUES (@role_org_viewer_id, @perm_role_read_id);
INSERT INTO auth_roles_to_permissions_assn (role_id, permission_id) VALUES (@role_org_viewer_id, @perm_catalog_screen_view_id);
INSERT INTO auth_roles_to_permissions_assn (role_id, permission_id) VALUES (@role_org_viewer_id, @perm_api_products_screen_view_id);
INSERT INTO auth_roles_to_permissions_assn (role_id, permission_id) VALUES (@role_org_viewer_id, @perm_api_product_read_id);
INSERT INTO auth_roles_to_permissions_assn (role_id, permission_id) VALUES (@role_org_viewer_id, @perm_shared_schema_read_id);
INSERT INTO auth_roles_to_permissions_assn (role_id, permission_id) VALUES (@role_org_viewer_id, @perm_shared_event_read_id);
2021-05-04 12:17:50.353 ERROR [] 15667 --- [ main] liquibase.changelog.ChangeSet : Change Set db/changesets/sqlFiles/003_insert_roles_to_permissions_assn.sql::raw::includeAll failed. Error: (conn=104) Duplicate entry '89711431716-89711431721' for key 'PRIMARY' [Failed SQL: (1062) SET @role_org_viewer_id = (SELECT id FROM auth_roles WHERE name='org_viewer');
我有一个 sqlFiles 文件夹,其中列出了我在更改日志中引用的一些文件。正如您从日志中看到的那样,这个 SQL 文件被应用了两次,一次是通过 changelog 文件,它被标记为 EXECUTED,然后再次运行。
知道为什么会这样吗?
解决方案
好的,问题是该文件夹sqlFiles
在下面
"path": "classpath:/db/changesets"
,导致它两次运行相同的 SQL 文件。一次来自变更日志,一次作为独立的 SQL 文件。
推荐阅读
- amazon-web-services - 如何清除 AWS Redshift 中的缓存?
- c++ - 寻找 2 个向量的交集算法评论/解释
- javascript - 滚动到框架内的元素
- delphi - 使用过程为标签赋值(Delphi)
- c++ - 声明范围解析运算符而不包括标准标题
- swagger - swagger-codegen 未正确生成任何语言的通用参数
- google-postmaster - Google Postmaster 工具,没有数据可显示消息
- sql - 多对多,其中行映射到整个表?
- python - 如何将变量从python文件传输到python烧瓶
- asp.net - DefaultAuthenticateScheme 被忽略,控制器返回 Unauthorized