我试图弄清楚如何将下面的sql重构为适当的迁移到Mysql表
CREATE TABLE [LinkedAccountClaims](
[UserAccountID] [uniqueidentifier] NOT NULL,
[ProviderName] [nvarchar](30) NOT NULL,
[ProviderAccountID] [nvarchar](100) NOT NULL,
[Type] [nvarchar](150) NOT NULL,
[Value] [nvarchar](150) NOT NULL,
CONSTRAINT [PK_LinkedAccountClaims] PRIMARY KEY CLUSTERED
(
[UserAccountID] ASC,
[ProviderName] ASC,
[ProviderAccountID] ASC,
[Type] ASC,
[Value] ASC)
CREATE NONCLUSTERED INDEX [IX_UserAccountID] ON [LinkedAccountClaims]
( [UserAccountID] ASC)
ALTER TABLE [LinkedAccountClaims] WITH CHECK ADD CONSTRAINT [FK_LinkedAccountClaims_UserAccounts_UserAccountID] FOREIGN KEY([UserAccountID])
REFERENCES [UserAccounts] ([ID])
ON DELETE CASCADE的迁移,其结构如下
CreateTable(
"LinkedAccountClaims",
c => new
{
UserAccountID = c.String(nullable: false, maxLength: 38, storeType: "char"),
ProviderName = c.String(nullable: false, maxLength: 30, storeType: "nvarchar"),
ProviderAccountID = c.String(nullable: false, maxLength: 100, storeType: "nvarchar"),
Type = c.String(nullable: false, maxLength: 150, storeType: "nvarchar"),
Value = c.String(nullable: false, maxLength: 150, storeType: "nvarchar"),
})
.PrimaryKey(t => t.UserAccountID)
.PrimaryKey(t => t.ProviderName)
.PrimaryKey(t => t.ProviderAccountID)
.PrimaryKey(t => t.Type)
.PrimaryKey(t => t.Value)
.Index(t => t.UserAccountID);我不确定在迁移过程中是否正确地进行了主键聚类,也不知道如何处理外键。
更新:,它正确地对主键进行聚类,并添加一个预键,您可以使用如下代码
.ForeignKey("UserAccounts", t => t.UserAccountID, cascadeDelete: true)发布于 2014-02-18 19:29:41
MySQL在语法上有点不同,对其他人的支持也有一点不同。表中不要使用多个主键
CREATE TABLE LinkedAccountClaims(
UserAccountID int unique NOT NULL ,
ProviderName varchar(30) NOT NULL,
ProviderAccountID varchar(100) NOT NULL,
Type varchar(150) NOT NULL,
Value varchar(150) NOT NULL,
primary key (UserAccountID)
);
CREATE INDEX IX_UserAccountID ON LinkedAccountClaims
(UserAccountID);
ALTER TABLE LinkedAccountClaims ADD CONSTRAINT FK_LinkedAccountClaims_UserAccounts_UserAccountID FOREIGN KEY(UserAccountID)
REFERENCES UserAccounts(ID)
ON DELETE CASCADE;发布于 2014-02-18 19:43:21
您考虑过使用宾得数据集成进行转换吗?
https://stackoverflow.com/questions/21862632
复制相似问题