小编Zej*_*jji的帖子

使用 Debezium 和 Kafka Connect JDBC Sink 连接器同步数据库时如何重命名主键?

我正在尝试使用 Debezium 将上游数据库中的表同步到下游数据库,遵循 Debezium 博客中描述的方法

在下游表中,我只需要上游表中的某些列。我还希望更改一些列名(包括主键的名称)。如果我不尝试重命名主键,同步将不会出现任何问题。

我在用:

  • 两个数据库均为 SQL Server 2019;和
  • Debezium 1.3(但也尝试过 Debezium 1.2,结果相同)。

我在下面列出了我的数据库和连接器设置的完整详细信息。

(1)数据库表定义:

上游表的 DDL 为:

CREATE TABLE [kafkatest.service1].dbo.Users (
    Id int IDENTITY(1,1) NOT NULL,
    Name nvarchar COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    CONSTRAINT PK_Users PRIMARY KEY (Id)
) GO
Run Code Online (Sandbox Code Playgroud)

下游表的DDL为:

CREATE TABLE [kafkatest.service2].dbo.Users (
    LocalId int IDENTITY(1,1) NOT NULL, // added to avoid IDENTITY_INSERT issue with SQL Server
    ExternalId int NOT NULL,
    ExternalName nvarchar COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    CONSTRAINT PK_Users PRIMARY KEY (LocalId)
) GO
Run Code Online (Sandbox Code Playgroud)

特别要注意的是, …

apache-kafka apache-kafka-connect debezium

5
推荐指数
1
解决办法
2689
查看次数

如何在 Entity Framework Core 5/6 中映射 Nullable<Ulid> (或任何其他可为 null 的自定义结构)?

采用以下 Entity Framework Core 实体类:

public interface IEntity
{
    public Ulid Id { get; set; }
}

public class User : IEntity
{
    [Key]
    public Ulid Id { get; set; }
    public string Email { get; set; } = default!;
    public string FirstName { get; set; } = default!;
    public string LastName { get; set; } = default!;
    public Ulid? CompanyId { get; set; }

    // Navigation properties
    public Company? Company { get; set; } = default!;
}
Run Code Online (Sandbox Code Playgroud)

请注意,主键是一个不可为 null …

.net c# entity-framework dbcontext entity-framework-core

5
推荐指数
1
解决办法
1477
查看次数

SvelteKit SSR - 如何阻止服务器端渲染,直到获取数据?

我正在使用 SvelteKit,出于 SEO 的原因,我想使用完整的 SSR 并确保所有数据在传递到浏览器之前都在服务器端获取和渲染。换句话说,对后端 API 的所有调用都应该在传递初始页面响应之前完成。

但是,从文档中我不清楚如何实现这一点。(我可能错过了一些东西。)

我已经尝试过以下操作,但这只会提供一个完全空的主体:

<script>
    let promise = fetch('https://swapi.dev/api/people/1/')
        .then((response) => response.json());
</script>

{#await promise then character}
<main>
    <h1>Your character</h1>
    Name is {character.name}
</main>
{/await}
Run Code Online (Sandbox Code Playgroud)

有谁知道如何使用 SvelteKit 阻止服务器端渲染,直到获取数据为止?

svelte svelte-3 sveltekit

3
推荐指数
2
解决办法
3424
查看次数