【问题标题】:Liquibase runs sqlFile change twiceLiquibase 运行 sqlFile 更改两次
【发布时间】:2021-05-05 00:42:53
【问题描述】:

由于某种原因,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,然后再次运行。

知道为什么会这样吗?

【问题讨论】:

    标签: liquibase


    【解决方案1】:

    好的,问题是文件夹sqlFiles 位于 "path": "classpath:/db/changesets" 这导致它运行同一个 SQL 文件两次。一次来自变更日志,一次作为独立的 SQL 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-23
      • 2020-05-15
      • 2017-10-16
      • 2022-01-24
      • 1970-01-01
      • 2017-07-07
      • 2021-09-11
      • 2023-04-11
      相关资源
      最近更新 更多