如果我通过门户手动创建 Azure 函数,则会创建应用程序密钥:

如果我通过 terraform 尝试相同的操作:
resource "azurerm_function_app" "resize_images" {
name = format("%s%s%s%s", module.subscription_prefix.prefix, "pfunctionapp", lower(local.environment), "0001")
location = azurerm_resource_group.azure_functions.location
resource_group_name = azurerm_resource_group.azure_functions.name
app_service_plan_id = module.app_service_plan.id
# AzureRM 1.x needs this
#storage_connection_string = local.azure_functions_storage_account_primary_connection_string
# AzureRM 2.x needs this
storage_account_name = data.azurerm_storage_account.resize_storage.name
storage_account_access_key = data.azurerm_storage_account.resize_storage.primary_access_key
app_settings = {
AzureWebJobsDashboard = data.azurerm_storage_account.resize_storage.primary_connection_string
AzureWebJobsStorage = data.azurerm_storage_account.resize_storage.primary_connection_string
BLOB_STORAGE_CONNECTION_STRING = data.azurerm_storage_account.resize_storage.primary_connection_string
CONTAINER_NAME = "images"
FUNCTIONS_EXTENSION_VERSION = "~3"
WEBSITE_HTTPLOGGING_RETENTION_DAYS = "3"
WEBSITE_RUN_FROM_PACKAGE = "1"
}
version = "~3"
tags = local.tags
}
Run Code Online (Sandbox Code Playgroud)
在 …
我有一个应用程序,它启动 (AppStarter) 一个带有 Web 应用程序的 Web 服务器。Web 应用程序具有迁移脚本(flyway)。
我想通过 JDBC 将 AppStarter 中的一些数据写入表中。但如果表不存在,我想创建它。该表也有一些限制。
在 AppStarter 中,我执行以下命令:
CREATE CACHED TABLE PUBLIC.CORE_USERROLE_TO_PARAMETER (
ID VARCHAR(32) PRIMARY KEY NOT NULL,
VERSION INTEGER,
USER_ID VARCHAR(32)NOT NULL,
ROLE_ID VARCHAR(32) NOT NULL,
PARAMETER VARCHAR(255) NOT NULL
);
ALTER TABLE PUBLIC.CORE_USERROLE_TO_PARAMETER ADD CONSTRAINT PUBLIC.CURTBP_USER_ID FOREIGN KEY(USER_ID) REFERENCES PUBLIC.CORE_USER(ID) NOCHECK;
ALTER TABLE PUBLIC.CORE_USERROLE_TO_PARAMETER ADD CONSTRAINT PUBLIC.CURTBP_ROLE_ID FOREIGN KEY(ROLE_ID) REFERENCES PUBLIC.CORE_USER_ROLE(ID) NOCHECK;
Run Code Online (Sandbox Code Playgroud)
Web 应用程序还会从此表中读取一些信息并创建这些表。现在我有一个 sql 迁移脚本
CREATE CACHED TABLE IF NOT EXISTS PUBLIC.CORE_USERROLE_TO_PARAMETER (
ID VARCHAR(32) PRIMARY KEY NOT …Run Code Online (Sandbox Code Playgroud) 迁移到 Spring Boot 3.0 后,我们的集成测试表明删除用户无法正常工作。
用户有两个属性,两个属性的定义相同(至少我是这么认为的,见下文)。
我想的是,当我加载 User 对象时,User 的属性之一未加载。仅当我将无法加载的属性定义为 EAGER 时。如果我现在尝试删除用户,这将不起作用,因为数据库中仍然存在引用该用户的一个属性。
我不知道问题出在哪里,也许我错过了一些东西
我的用户实体
@Entity
@Data
@Table(name = "user_model")
public class User extends BaseEntity {
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
private String id;
...
@OneToOne(fetch = FetchType.LAZY, mappedBy = "user", cascade = CascadeType.ALL, orphanRemoval = true)
private UserSettings userSettings;
@OneToOne(fetch = FetchType.LAZY, mappedBy = "user", cascade = CascadeType.ALL, orphanRemoval = true)
private UserTermsOfUse userTermsOfUse;
...
}
Run Code Online (Sandbox Code Playgroud)
可加载的用户使用条款
@Entity
@Table(name = "user_termsofuse")
@Data
public class UserTermsOfUse …Run Code Online (Sandbox Code Playgroud) java ×2
flyway ×1
function ×1
h2 ×1
migration ×1
spring ×1
spring-boot ×1
spring-data ×1
sql ×1
terraform ×1