我们将从这个模式开始
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)