我尝试在SQL中创建全文目录并通过Flyway迁移所有脚本,但在尝试迁移全文目录时出现错误。
Migration V1_5__FullTextSearch.sql failed
-------------------------------
SQL State : S1000
Error Code : 574
Message : CREATE FULLTEXT CATALOG statement cannot be used inside a user transaction.
Location : C:/Users/User1/Desktop/flyway-3.2.1/sql/V1_5__FullTextSearch.sql (C:\Users\User1\Desktop\flyway-3.2.1\sql\V1_5__FullTextSearch.sql)
Line : 152
Statement : EXEC sp_CreateFullTextSearch
是否有办法避免Flyway强制执行用户事务或任何解决方法以创建FullText目录。
PD:
我在存储过程中创建FullText目录,但我有同样的运气:
CREATE PROCEDURE sp_CreateFullTextSearch
AS
BEGIN
DECLARE @FullTextQuery AS nvarchar(MAX)= N'
IF not EXISTS (SELECT 1 FROM sys.fulltext_catalogs
WHERE name = ''MerchantSearchCat'')
begin
CREATE FULLTEXT CATALOG MerchantSearchCat
AUTHORIZATION [dbo]
end
IF not EXISTS (SELECT 1 FROM sys.fulltext_catalogs
WHERE name = ''IndividualSearchCat'')
begin
CREATE FULLTEXT CATALOG IndividualSearchCat
AUTHORIZATION [dbo]
end
IF not EXISTS (SELECT 1 FROM sys.fulltext_catalogs
WHERE name = ''CustomerSearchCat'')
begin
CREATE FULLTEXT CATALOG CustomerSearchCat
AUTHORIZATION [dbo]
END
IF not EXISTS (SELECT 1 FROM sys.fulltext_catalogs
WHERE name = ''ItemSearchCat'')
begin
CREATE FULLTEXT CATALOG ItemSearchCat
AUTHORIZATION [dbo]
END'
EXEC sp_executesql @FullTextQuery
END