小编Sen*_*nne的帖子

如何在微服务中处理数据库架构更新

我们将从这个模式开始

CREATE TABLE [dbo].[Label]
(
    [Id] UNIQUEIDENTIFIER NOT NULL PRIMARY KEY, 
    [Prefix] VARCHAR(50) NOT NULL UNIQUE,
    [ArtistName] VARCHAR(MAX) NOT NULL
)
Run Code Online (Sandbox Code Playgroud)

我们还有一个管理“标签”的微服务。http://labels.example.com/v1/all将以这种格式返回所有标签:

{ Id = xxx, Prefix = xxx, ArtistName = xxx }
Run Code Online (Sandbox Code Playgroud)

我们如何处理不影响此微服务消费者的架构更改?

我们必须进行一些重构,然后艺术家移到他自己的桌子上。

CREATE TABLE [dbo].[Label]
(
    [Id] UNIQUEIDENTIFIER NOT NULL PRIMARY KEY, 
    [Prefix] VARCHAR(50) NOT NULL UNIQUE,
    [ArtistId] UNIQUEIDENTIFIER NOT NULL,

    CONSTRAINT FK_Label_Artist
        FOREIGN KEY (ArtistId) REFERENCES Artist(Id)
)

CREATE TABLE [dbo].[Artist]
(
    [Id] UNIQUEIDENTIFIER NOT NULL PRIMARY KEY, 
    [Name] VARCHAR(MAX) NOT NULL,
    [Country] VARCHAR(MAX) …
Run Code Online (Sandbox Code Playgroud)

database architecture microservices

4
推荐指数
2
解决办法
1606
查看次数

标签 统计

architecture ×1

database ×1

microservices ×1