带索引的 SimpleRepository 自动迁移

发布于 2024-09-03 12:06:49 字数 422 浏览 6 评论 0原文

我在开发中使用 subsonic simplerepo 进行迁移,这使事情变得非常简单,但我一直遇到带有索引的 nvarchar 列的问题。出于显而易见的原因,我的用户表在用户名列上定义了一个索引,但每次我启动项目时,亚音速都会执行以下操作:

ALTER TABLE [Users] ALTER COLUMN Username nvarchar(50);

这会导致此问题:

The index 'IX_Username' is dependent on column 'Username'.ALTER TABLE ALTER COLUMN Username failed because one or more objects access this column

有什么办法可以解决此问题吗?

I am using subsonic simplerepo with migrations in dev and it makes things pretty easy but I keep running into issues with my nvarchar columns that have an index. My users table has an index defined on the username column for obvious reasons but each time I start the project subsonic is doing this:

ALTER TABLE [Users] ALTER COLUMN Username nvarchar(50);

which causes this:

The index 'IX_Username' is dependent on column 'Username'.ALTER TABLE ALTER COLUMN Username failed because one or more objects access this column

Is there any way around this issue?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

ま昔日黯然 2024-09-10 12:06:50

您使用哪个数据库管理系统? SQL服务器?

MySQL 从未遇到过这样的问题,但您的 DBMS 似乎不允许更改带有索引的列。这不是 SubSonic 相关的问题。

也许你应该这样做:

Execute("DROP index ...");
AlterColumn("...");
Execute("CREATE index ...");

Which DBMS are you using? Sql Server?

Never had a problem like this with MySQL, but it seems that your DBMS does not allow to alter a column with an index on it. This is not a SubSonic related issue.

Maybe you should do:

Execute("DROP index ...");
AlterColumn("...");
Execute("CREATE index ...");
当爱已成负担 2024-09-10 12:06:50

这是其中之一或另一个。如果您选择通过 Subsonic 管理数据库(使用迁移),则无法使用索引和其他内容。对不起,伙计。

It is one or the other. If you choose to manage your DB by Subsonic (use migrations), you can't use indexes and stuff. Sorry mate.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文