-- Migrate s_* tables: b_id identity(1,1) -> plain bigint (snowflake by app layer) -- Generated: 2026-08-21 20:27:23.939 -- ===== s_autocode ===== ALTER TABLE [dbo].[s_autocode] DROP CONSTRAINT [PK_s_autocode]; ALTER TABLE [dbo].[s_autocode] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_autocode] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_autocode] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_autocode] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_autocode.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_autocode] ADD CONSTRAINT [PK_s_autocode] PRIMARY KEY ([b_id]); GO -- ===== s_field ===== ALTER TABLE [dbo].[s_field] DROP CONSTRAINT [PK_s_field]; ALTER TABLE [dbo].[s_field] DROP CONSTRAINT [UQ_s_field_module_id]; DROP INDEX [IX_s_field_module] ON [dbo].[s_field]; ALTER TABLE [dbo].[s_field] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_field] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_field] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_field] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_field.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_field] ADD CONSTRAINT [PK_s_field] PRIMARY KEY ([b_id]); ALTER TABLE [dbo].[s_field] ADD CONSTRAINT [UQ_s_field_module_id] UNIQUE (b_module_id,b_id); CREATE INDEX [IX_s_field_module] ON [dbo].[s_field] (b_module_id,b_canuse,b_id); GO -- ===== s_field_edit ===== ALTER TABLE [dbo].[s_field_edit] DROP CONSTRAINT [PK_s_field_edit]; DROP INDEX [IX_s_field_edit_order] ON [dbo].[s_field_edit]; ALTER TABLE [dbo].[s_field_edit] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_field_edit] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_field_edit] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_field_edit] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_field_edit.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_field_edit] ADD CONSTRAINT [PK_s_field_edit] PRIMARY KEY ([b_id]); CREATE INDEX [IX_s_field_edit_order] ON [dbo].[s_field_edit] (b_xh,b_id); GO -- ===== s_field_group ===== ALTER TABLE [dbo].[s_field_group] DROP CONSTRAINT [PK_s_field_group]; ALTER TABLE [dbo].[s_field_group] DROP CONSTRAINT [CK_s_field_group_parent]; ALTER TABLE [dbo].[s_field_group] DROP CONSTRAINT [UQ_s_field_group_module_id]; ALTER TABLE [dbo].[s_field_group] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_field_group] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_field_group] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_field_group] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_field_group.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_field_group] ADD CONSTRAINT [PK_s_field_group] PRIMARY KEY ([b_id]); ALTER TABLE [dbo].[s_field_group] ADD CONSTRAINT [CK_s_field_group_parent] CHECK ([b_parent_id] IS NULL OR [b_parent_id]<>[b_id]); ALTER TABLE [dbo].[s_field_group] ADD CONSTRAINT [UQ_s_field_group_module_id] UNIQUE (b_module_id,b_id); GO -- ===== s_field_query ===== ALTER TABLE [dbo].[s_field_query] DROP CONSTRAINT [PK_s_field_query]; DROP INDEX [IX_s_field_query_order] ON [dbo].[s_field_query]; ALTER TABLE [dbo].[s_field_query] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_field_query] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_field_query] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_field_query] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_field_query.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_field_query] ADD CONSTRAINT [PK_s_field_query] PRIMARY KEY ([b_id]); CREATE INDEX [IX_s_field_query_order] ON [dbo].[s_field_query] (b_canuse,b_xh,b_id); GO -- ===== s_field_view ===== ALTER TABLE [dbo].[s_field_view] DROP CONSTRAINT [PK_s_field_view]; DROP INDEX [IX_s_field_view_order] ON [dbo].[s_field_view]; ALTER TABLE [dbo].[s_field_view] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_field_view] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_field_view] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_field_view] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_field_view.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_field_view] ADD CONSTRAINT [PK_s_field_view] PRIMARY KEY ([b_id]); CREATE INDEX [IX_s_field_view_order] ON [dbo].[s_field_view] (b_xh,b_id); GO -- ===== s_i18n ===== ALTER TABLE [dbo].[s_i18n] DROP CONSTRAINT [PK_s_i18n]; ALTER TABLE [dbo].[s_i18n] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_i18n] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_i18n] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_i18n] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_i18n.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_i18n] ADD CONSTRAINT [PK_s_i18n] PRIMARY KEY ([b_id]); GO -- ===== s_log_audit ===== ALTER TABLE [dbo].[s_log_audit] DROP CONSTRAINT [PK_s_log_audit]; ALTER TABLE [dbo].[s_log_audit] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_log_audit] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_log_audit] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_log_audit] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_log_audit.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_log_audit] ADD CONSTRAINT [PK_s_log_audit] PRIMARY KEY ([b_id]); GO -- ===== s_log_audit_field ===== ALTER TABLE [dbo].[s_log_audit_field] DROP CONSTRAINT [PK_s_log_audit_field]; ALTER TABLE [dbo].[s_log_audit_field] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_log_audit_field] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_log_audit_field] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_log_audit_field] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_log_audit_field.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_log_audit_field] ADD CONSTRAINT [PK_s_log_audit_field] PRIMARY KEY ([b_id]); GO -- ===== s_log_login ===== ALTER TABLE [dbo].[s_log_login] DROP CONSTRAINT [PK_s_log_login]; ALTER TABLE [dbo].[s_log_login] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_log_login] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_log_login] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_log_login] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_log_login.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_log_login] ADD CONSTRAINT [PK_s_log_login] PRIMARY KEY ([b_id]); GO -- ===== s_log_technical ===== ALTER TABLE [dbo].[s_log_technical] DROP CONSTRAINT [PK_s_log_technical]; ALTER TABLE [dbo].[s_log_technical] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_log_technical] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_log_technical] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_log_technical] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_log_technical.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_log_technical] ADD CONSTRAINT [PK_s_log_technical] PRIMARY KEY ([b_id]); GO -- ===== s_menu ===== ALTER TABLE [dbo].[s_menu] DROP CONSTRAINT [PK_s_menu]; ALTER TABLE [dbo].[s_menu] DROP CONSTRAINT [CK_s_menu_parent]; ALTER TABLE [dbo].[s_menu] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_menu] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_menu] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_menu] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_menu.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_menu] ADD CONSTRAINT [PK_s_menu] PRIMARY KEY ([b_id]); ALTER TABLE [dbo].[s_menu] ADD CONSTRAINT [CK_s_menu_parent] CHECK ([b_parent_id] IS NULL OR [b_parent_id]<>[b_id]); GO -- ===== s_module ===== ALTER TABLE [dbo].[s_module] DROP CONSTRAINT [PK_s_module]; ALTER TABLE [dbo].[s_module] DROP CONSTRAINT [CK_s_module_parent]; DROP INDEX [IX_s_module_parent] ON [dbo].[s_module]; ALTER TABLE [dbo].[s_module] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_module] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_module] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_module] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_module.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_module] ADD CONSTRAINT [PK_s_module] PRIMARY KEY ([b_id]); ALTER TABLE [dbo].[s_module] ADD CONSTRAINT [CK_s_module_parent] CHECK ([b_parent_id] IS NULL OR [b_parent_id]<>[b_id]); CREATE INDEX [IX_s_module_parent] ON [dbo].[s_module] (b_parent_id,b_xh,b_canuse,b_id); GO -- ===== s_power ===== ALTER TABLE [dbo].[s_power] DROP CONSTRAINT [PK_s_power]; ALTER TABLE [dbo].[s_power] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_power] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_power] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_power] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_power.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_power] ADD CONSTRAINT [PK_s_power] PRIMARY KEY ([b_id]); GO -- ===== s_relation ===== ALTER TABLE [dbo].[s_relation] DROP CONSTRAINT [PK_s_relation]; ALTER TABLE [dbo].[s_relation] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_relation] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_relation] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_relation] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_relation.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_relation] ADD CONSTRAINT [PK_s_relation] PRIMARY KEY ([b_id]); GO -- ===== s_role ===== ALTER TABLE [dbo].[s_role] DROP CONSTRAINT [PK_s_role]; ALTER TABLE [dbo].[s_role] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_role] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_role] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_role] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_role.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_role] ADD CONSTRAINT [PK_s_role] PRIMARY KEY ([b_id]); GO -- ===== s_role_power ===== ALTER TABLE [dbo].[s_role_power] DROP CONSTRAINT [PK_s_role_power]; ALTER TABLE [dbo].[s_role_power] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_role_power] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_role_power] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_role_power] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_role_power.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_role_power] ADD CONSTRAINT [PK_s_role_power] PRIMARY KEY ([b_id]); GO -- ===== s_role_scope ===== ALTER TABLE [dbo].[s_role_scope] DROP CONSTRAINT [PK_s_role_scope]; ALTER TABLE [dbo].[s_role_scope] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_role_scope] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_role_scope] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_role_scope] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_role_scope.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_role_scope] ADD CONSTRAINT [PK_s_role_scope] PRIMARY KEY ([b_id]); GO -- ===== s_user_role ===== ALTER TABLE [dbo].[s_user_role] DROP CONSTRAINT [PK_s_user_role]; ALTER TABLE [dbo].[s_user_role] ADD [b_id_new] bigint NULL; UPDATE [dbo].[s_user_role] SET [b_id_new] = [b_id]; ALTER TABLE [dbo].[s_user_role] ALTER COLUMN [b_id_new] bigint NOT NULL; ALTER TABLE [dbo].[s_user_role] DROP COLUMN [b_id]; GO EXEC sp_rename 'dbo.s_user_role.b_id_new', 'b_id', 'COLUMN'; GO ALTER TABLE [dbo].[s_user_role] ADD CONSTRAINT [PK_s_user_role] PRIMARY KEY ([b_id]); GO -- End of migration