SET NOCOUNT ON
SET XACT_ABORT ON
BEGIN TRAN
BEGIN TRY

	IF SCHEMA_ID(N'DBO') IS NULL EXECUTE(N'CREATE SCHEMA DBO');

	
	--Inventário Solicitação Produto
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'INVENTARIO_SOLICITACAO_PRODUTO' )
	BEGIN

		EXEC('
			CREATE TABLE [dbo].[INVENTARIO_SOLICITACAO_PRODUTO](
				[ID_INVENTARIO] [int] NOT NULL,
				[ITEM] [int] NOT NULL,
				[PRODUTO] [char](12) NULL,
				[COR_PRODUTO] [char](10) NULL,
				[DATA_PARA_TRANSFERENCIA] [datetime] NULL,
			 CONSTRAINT [PK_INVENTARIO_SOLICITACAO_PRODUTO] PRIMARY KEY NONCLUSTERED 
			(
				[ID_INVENTARIO] ASC,
				[ITEM] ASC
			)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
			) ON [PRIMARY]
		')

		EXEC('
			ALTER TABLE [dbo].[INVENTARIO_SOLICITACAO_PRODUTO]  WITH NOCHECK ADD  CONSTRAINT [FK_INVENTARIO_SOLICITACAO_PRODUTO] FOREIGN KEY([ID_INVENTARIO])
			REFERENCES [dbo].[INVENTARIO_SOLICITACAO] ([ID_INVENTARIO])
			ON UPDATE CASCADE
			ON DELETE CASCADE
			NOT FOR REPLICATION 
		')

		EXEC('
			ALTER TABLE [dbo].[INVENTARIO_SOLICITACAO_PRODUTO] CHECK CONSTRAINT [FK_INVENTARIO_SOLICITACAO_PRODUTO]
		')

	END;

	--INVENTARIO_SUGESTAO
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'INVENTARIO_SUGESTAO' )
	BEGIN
	
		EXEC('
			CREATE TABLE [dbo].[INVENTARIO_SUGESTAO](
				[INVENTARIO_SUGESTAO] [int] NOT NULL,
				[EMISSAO] [datetime] NOT NULL,
				[DESC_SUGESTAO] [varchar](40) NOT NULL,
				[RESPONSAVEL] [varchar](25) NULL,
				[DATA_LIMITE_EFETIVACAO] [datetime] NULL,
				[OBS] [varchar](max) NULL,
				[ENVIA_LOJA] [bit] NOT NULL,
				[DATA_PARA_TRANSFERENCIA] [datetime] NULL,
			 CONSTRAINT [XPKINVENTARIO_SUGESTAO] PRIMARY KEY CLUSTERED 
			(
				[INVENTARIO_SUGESTAO] ASC
			)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
			) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

		')	

	END;

	--INVENTARIO_SUGESTAO
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'INVENTARIO_SUGESTAO_PRODUTO' )
	BEGIN
	
		EXEC('
			CREATE TABLE [dbo].[INVENTARIO_SUGESTAO_PRODUTO](
				[INVENTARIO_SUGESTAO] [int] NOT NULL,
				[COD_FILIAL] [char](6) NOT NULL,
				[PRODUTO] [char](12) NOT NULL,
				[COR_PRODUTO] [char](10) NOT NULL,
				[MOTIVO] [varchar](100) NULL,
				[ORDEM] [int] NULL,
				[SEQ] [char](6) NULL,
				[TIMESTAMP] [timestamp] NULL,
				[DATA_PARA_TRANSFERENCIA] [datetime] NULL,
			 CONSTRAINT [XPKINVENTARIO_SUGESTAO_PRODUTO] PRIMARY KEY CLUSTERED 
			(
				[INVENTARIO_SUGESTAO] ASC,
				[COD_FILIAL] ASC,
				[PRODUTO] ASC,
				[COR_PRODUTO] ASC
			)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
			) ON [PRIMARY]

		')	

		EXEC('
			ALTER TABLE [dbo].[INVENTARIO_SUGESTAO_PRODUTO]  WITH NOCHECK ADD  CONSTRAINT [XFK12230_INVENTARIO_SUGESTAO_PRODUTO] FOREIGN KEY([COD_FILIAL])
				REFERENCES [dbo].[FILIAIS] ([COD_FILIAL])
				NOT FOR REPLICATION 
		')

		EXEC('
			ALTER TABLE [dbo].[INVENTARIO_SUGESTAO_PRODUTO] CHECK CONSTRAINT [XFK12230_INVENTARIO_SUGESTAO_PRODUTO]
		')

		EXEC('
			ALTER TABLE [dbo].[INVENTARIO_SUGESTAO_PRODUTO]  WITH NOCHECK ADD  CONSTRAINT [XFK12232_INVENTARIO_SUGESTAO_PRODUTO] FOREIGN KEY([INVENTARIO_SUGESTAO])
				REFERENCES [dbo].[INVENTARIO_SUGESTAO] ([INVENTARIO_SUGESTAO])
				ON UPDATE CASCADE
				ON DELETE CASCADE
				NOT FOR REPLICATION 
		')

		EXEC('
			ALTER TABLE [dbo].[INVENTARIO_SUGESTAO_PRODUTO] CHECK CONSTRAINT [XFK12232_INVENTARIO_SUGESTAO_PRODUTO]
		')

		EXEC('
			ALTER TABLE [dbo].[INVENTARIO_SUGESTAO_PRODUTO]  WITH NOCHECK ADD  CONSTRAINT [XFK12234_INVENTARIO_SUGESTAO_PRODUTO] FOREIGN KEY([PRODUTO], [COR_PRODUTO])
				REFERENCES [dbo].[PRODUTO_CORES] ([PRODUTO], [COR_PRODUTO])
				NOT FOR REPLICATION 
		')

		EXEC('
			ALTER TABLE [dbo].[INVENTARIO_SUGESTAO_PRODUTO] CHECK CONSTRAINT [XFK12234_INVENTARIO_SUGESTAO_PRODUTO]
		')

	END;

	--LOJA_MOTIVOS_DESCONTO
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'LOJA_MOTIVOS_DESCONTO' )
	BEGIN
	
		EXEC('
			CREATE TABLE [dbo].[LOJA_MOTIVOS_DESCONTO](
				[CODIGO_DESCONTO] [char](2) NOT NULL,
				[DESC_MOTIVO_DESCONTO] [varchar](25) NOT NULL,
				[LIMITE_DESCONTO] [numeric](5, 2) NOT NULL,
				[TIMESTAMP] [timestamp] NULL,
				[DATA_PARA_TRANSFERENCIA] [datetime] NULL,
				[LX_STATUS_REGISTRO] [int] NULL,
			 CONSTRAINT [PK_LOJA_MOTIVOS_DESCONTO] PRIMARY KEY NONCLUSTERED 
			(
				[CODIGO_DESCONTO] ASC
			)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
			) ON [PRIMARY]')

		EXEC('
		ALTER TABLE [dbo].[LOJA_MOTIVOS_DESCONTO] ADD  CONSTRAINT [DF_LX_STATUS_REGISTRO]  DEFAULT ((1)) FOR [LX_STATUS_REGISTRO]')
	
	END;


	--LOJA_MOTIVO_DEVOLUCAO
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'LOJA_MOTIVO_DEVOLUCAO' )
	BEGIN
	
		EXEC('
		CREATE TABLE [dbo].[LOJA_MOTIVO_DEVOLUCAO](
			[ID_MOTIVO_DEVOLUCAO] [smallint] NOT NULL,
			[COD_MOTIVO_DEVOLUCAO] [varchar](5) NOT NULL,
			[DESC_MOTIVO_DEVOLUCAO] [varchar](60) NOT NULL,
			[APROVACAO_GERENTE] [bit] NOT NULL,
			[INATIVO] [bit] NOT NULL,
			[LX_STATUS_REGISTRO] [int] NULL,
		 CONSTRAINT [PK_LJV_MOTIVO_DEVOLUCAO] PRIMARY KEY NONCLUSTERED 
		(
			[ID_MOTIVO_DEVOLUCAO] ASC
		)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
		) ON [PRIMARY]
		')
	
		EXEC('
			ALTER TABLE [dbo].[LOJA_MOTIVO_DEVOLUCAO] ADD  CONSTRAINT [DF_APROVACAO_GERENTE]  DEFAULT ((0)) FOR [APROVACAO_GERENTE]')
	
		EXEC('
			ALTER TABLE [dbo].[LOJA_MOTIVO_DEVOLUCAO] ADD  CONSTRAINT [DF_INATIVO]  DEFAULT ((0)) FOR [INATIVO]')
	
		EXEC('
			ALTER TABLE [dbo].[LOJA_MOTIVO_DEVOLUCAO] ADD  CONSTRAINT [DF_LX_STATUS_REGISTRO]  DEFAULT ((1)) FOR [LX_STATUS_REGISTRO]')
	

	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LJ_FIDELIDADE_PROGRAMA' AND COLUMN_NAME = 'RECIBO_CONCESSAO')
	BEGIN
		EXEC('ALTER TABLE	LJ_FIDELIDADE_PROGRAMA	ADD  RECIBO_CONCESSAO VARCHAR(2000)')
	END;
	
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LJ_FIDELIDADE_PROGRAMA' AND COLUMN_NAME = 'RECIBO_RESGATE')
	BEGIN
		EXEC('ALTER TABLE	LJ_FIDELIDADE_PROGRAMA	ADD  RECIBO_RESGATE VARCHAR(2000)')
	END;
	
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LJ_FIDELIDADE_PROGRAMA' AND COLUMN_NAME = 'LX_TIPO_RESGATE')
	BEGIN
		EXEC('ALTER TABLE	LJ_FIDELIDADE_PROGRAMA	ADD  LX_TIPO_RESGATE TINYINT')
	END;
	
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LJ_FIDELIDADE_PROGRAMA' AND COLUMN_NAME = 'QTDE_MULTIPLO_RESGATE')
	BEGIN
		EXEC('ALTER TABLE	LJ_FIDELIDADE_PROGRAMA	ADD  QTDE_MULTIPLO_RESGATE INT')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LJ_FIDELIDADE_PROGRAMA' AND COLUMN_NAME = 'SALDO_MINIMO_RESGATE')
	BEGIN
		EXEC('ALTER TABLE	LJ_FIDELIDADE_PROGRAMA	ADD  SALDO_MINIMO_RESGATE INT')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJAS_VAREJO' AND COLUMN_NAME = 'SEQUENCIA_PEDIDO')
	BEGIN
		EXEC('ALTER TABLE	LOJAS_VAREJO	ADD  SEQUENCIA_PEDIDO INT')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJAS_VAREJO' AND COLUMN_NAME = 'SEQUENCIA_FATURA')
	BEGIN
		EXEC('ALTER TABLE	LOJAS_VAREJO	ADD  SEQUENCIA_FATURA CHAR(6)')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJAS_VAREJO' AND COLUMN_NAME = 'SEQUENCIA_RECIBO')
	BEGIN
		EXEC('ALTER TABLE	LOJAS_VAREJO	ADD  SEQUENCIA_RECIBO CHAR(6)')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJAS_VAREJO' AND COLUMN_NAME = 'SEQUENCIA_PRE_VENDA')
	BEGIN
		EXEC('ALTER TABLE	LOJAS_VAREJO	ADD  SEQUENCIA_PRE_VENDA CHAR(13)')
	END;
	
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJAS_VAREJO' AND COLUMN_NAME = 'SEQUENCIA_DAV')
	BEGIN
		EXEC('ALTER TABLE	LOJAS_VAREJO	ADD  SEQUENCIA_DAV CHAR(13)')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'ESTOQUE_PRODUTOS' AND COLUMN_NAME = 'LX_HASH')
	BEGIN
		EXEC('ALTER TABLE	ESTOQUE_PRODUTOS	ADD  LX_HASH BINARY(16)')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'CADASTRO_CLI_FOR' AND COLUMN_NAME = 'COBRANCA_COMPLEMENTO' AND CHARACTER_MAXIMUM_LENGTH != 60)
	BEGIN
		EXEC('ALTER TABLE CADASTRO_CLI_FOR ALTER COLUMN COBRANCA_COMPLEMENTO VARCHAR(60)')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'CADASTRO_CLI_FOR' AND COLUMN_NAME = 'ENTREGA_COMPLEMENTO' AND CHARACTER_MAXIMUM_LENGTH != 60)
	BEGIN
		EXEC('ALTER TABLE CADASTRO_CLI_FOR ALTER COLUMN ENTREGA_COMPLEMENTO VARCHAR(60)')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_CAIXA_TIPOS'  AND COLUMN_NAME = 'INATIVO')
	BEGIN

		EXEC('ALTER TABLE LOJA_CAIXA_TIPOS ADD INATIVO BIT NULL')
		EXEC(' SP_BINDEFAULT ''DEFAULT_0'', [LOJA_CAIXA_TIPOS.INATIVO]	')
	END;

	EXEC('ALTER TABLE LOJA_CAIXA_TIPOS DISABLE TRIGGER ALL
		UPDATE LOJA_CAIXA_TIPOS SET INATIVO = 0, DATA_PARA_TRANSFERENCIA = DATA_PARA_TRANSFERENCIA 
		ALTER TABLE LOJA_CAIXA_TIPOS ALTER COLUMN INATIVO BIT NOT NULL
		ALTER TABLE LOJA_CAIXA_TIPOS ENABLE TRIGGER ALL
	');

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_OPERACOES_VENDA'  AND COLUMN_NAME = 'ID_OPERACAO_VENDA')
	BEGIN
		EXEC('ALTER TABLE LOJA_OPERACOES_VENDA add ID_OPERACAO_VENDA INT NULL')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'PRODUTOS'  AND COLUMN_NAME = 'ID_ARTIGO')
	BEGIN
		EXEC('ALTER TABLE PRODUTOS add ID_ARTIGO INT NULL')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'PRODUTOS_BARRA'  AND COLUMN_NAME = 'ID_SKU')
	BEGIN
		EXEC('ALTER TABLE PRODUTOS_BARRA add ID_SKU INT NULL')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'CLIENTES_VAREJO'  AND COLUMN_NAME = 'ID_CRM_PFJ')
	BEGIN
		EXEC('ALTER TABLE CLIENTES_VAREJO add ID_CRM_PFJ INT NULL')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDEDORES' AND COLUMN_NAME = 'ID_VENDEDOR')
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDEDORES add ID_VENDEDOR INT NULL')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDEDORES' AND COLUMN_NAME = 'EMAIL')
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDEDORES add EMAIL varchar(250)')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_PGTO_CLIENTE' AND COLUMN_NAME = 'PARCELAS_CARTAO ')
	BEGIN
		EXEC('ALTER TABLE LOJA_PGTO_CLIENTE ADD PARCELAS_CARTAO SMALLINT NULL')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA' AND COLUMN_NAME = 'ID_MOTIVO_DEVOLUCAO')
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDA add ID_MOTIVO_DEVOLUCAO smallint')
	END;

	IF EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'COBRANCA_COMPLEMENTO' AND TABLE_NAME = 'CADASTRO_CLI_FOR' AND CHARACTER_MAXIMUM_LENGTH != 60)
	BEGIN
		EXEC('ALTER TABLE CADASTRO_CLI_FOR ALTER COLUMN COBRANCA_COMPLEMENTO VARCHAR(60)')
	END;

	IF EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'EMAIL' AND TABLE_NAME = 'CADASTRO_CLI_FOR' AND CHARACTER_MAXIMUM_LENGTH != 10)
	BEGIN
		EXEC('ALTER TABLE CADASTRO_CLI_FOR ALTER COLUMN EMAIL VARCHAR(100)')
	END;

	IF EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'EMAIL_NFE' AND TABLE_NAME = 'CADASTRO_CLI_FOR' AND CHARACTER_MAXIMUM_LENGTH != 60)
	BEGIN
		EXEC('ALTER TABLE CADASTRO_CLI_FOR ALTER COLUMN EMAIL_NFE VARCHAR(100)')
	END;

	IF EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'ENTREGA_COMPLEMENTO' AND TABLE_NAME = 'CADASTRO_CLI_FOR' AND CHARACTER_MAXIMUM_LENGTH != 60)
	BEGIN
		EXEC('ALTER TABLE CADASTRO_CLI_FOR ALTER COLUMN ENTREGA_COMPLEMENTO VARCHAR(60)')
	END;

	IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'PRODUTOS' AND COLUMN_NAME = 'EMPRESA')
	BEGIN
		EXEC('ALTER TABLE PRODUTOS ADD EMPRESA INT')
	END;

	IF EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'PRODUTOS' AND COLUMN_NAME = 'REFER_FABRICANTE' AND CHARACTER_MAXIMUM_LENGTH != 25)
	BEGIN	
		EXEC('SP_UNBINDEFAULT ''PRODUTOS.REFER_FABRICANTE''')
		EXEC('ALTER TABLE PRODUTOS ALTER COLUMN REFER_FABRICANTE VARCHAR(25)')
		EXEC('SP_BINDEFAULT ''DEF_CHAR_1'', ''PRODUTOS.REFER_FABRICANTE''')
	END;

	IF EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'DADOS_CADASTRO_XML_NFE')
	BEGIN
		IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'DADOS_CADASTRO_XML_NFE' AND COLUMN_NAME = 'DATA_PARA_TRANSFERENCIA')
		BEGIN
			EXEC('ALTER TABLE DADOS_CADASTRO_XML_NFE ADD DATA_PARA_TRANSFERENCIA DATETIME')
		END;

		IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'DADOS_CADASTRO_XML_NFE' AND COLUMN_NAME = 'LX_STATUS_XML_NFE')
		BEGIN
			EXEC('ALTER TABLE DADOS_CADASTRO_XML_NFE ADD LX_STATUS_XML_NFE INT')
		END;
	END;

	--Criação Colunas DATA_PARA_TRANSFERENCIA
	IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'CTB_LX_INDICADOR_FISCAL_TERCEIRO' AND COLUMN_NAME = 'DATA_PARA_TRANSFERENCIA')
	BEGIN
	   EXEC('ALTER TABLE CTB_LX_INDICADOR_FISCAL_TERCEIRO ADD DATA_PARA_TRANSFERENCIA DATETIME')
	   EXEC('SP_BINDEFAULT ''DATA_ATUAL'', ''CTB_LX_INDICADOR_FISCAL_TERCEIRO.DATA_PARA_TRANSFERENCIA''')
	END;

	IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LCF_LX_PAIS' AND COLUMN_NAME = 'DATA_PARA_TRANSFERENCIA')
	BEGIN
	   EXEC('ALTER TABLE LCF_LX_PAIS ADD DATA_PARA_TRANSFERENCIA DATETIME')
	   EXEC('SP_BINDEFAULT ''DATA_ATUAL'', ''LCF_LX_PAIS.DATA_PARA_TRANSFERENCIA''')   
	END;

	IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'FATURAMENTO_SEQUENCIAIS' AND COLUMN_NAME = 'DATA_PARA_TRANSFERENCIA')
	BEGIN
	   EXEC('ALTER TABLE FATURAMENTO_SEQUENCIAIS ADD DATA_PARA_TRANSFERENCIA DATETIME')
	   EXEC('SP_BINDEFAULT ''DATA_ATUAL'', ''FATURAMENTO_SEQUENCIAIS.DATA_PARA_TRANSFERENCIA''')   
	END;

	IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'CTB_LX_TIPO_OPERACAO' AND COLUMN_NAME = 'DATA_PARA_TRANSFERENCIA')
	BEGIN
	   EXEC('ALTER TABLE CTB_LX_TIPO_OPERACAO ADD DATA_PARA_TRANSFERENCIA DATETIME')
	   EXEC('SP_BINDEFAULT ''DATA_ATUAL'', ''CTB_LX_TIPO_OPERACAO.DATA_PARA_TRANSFERENCIA''')  
	END;    

	IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LX_ADMINISTRADORAS_CARTAO' AND COLUMN_NAME = 'DATA_PARA_TRANSFERENCIA')
	BEGIN
	   EXEC('ALTER TABLE LX_ADMINISTRADORAS_CARTAO ADD DATA_PARA_TRANSFERENCIA DATETIME')
	   EXEC('SP_BINDEFAULT ''DATA_ATUAL'', ''LX_ADMINISTRADORAS_CARTAO.DATA_PARA_TRANSFERENCIA''')   
	END;

	IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LJ_PERFIL_USUARIO' AND COLUMN_NAME = 'DATA_PARA_TRANSFERENCIA')
	BEGIN
	   EXEC('ALTER TABLE LJ_PERFIL_USUARIO ADD DATA_PARA_TRANSFERENCIA DATETIME')
	   EXEC('SP_BINDEFAULT ''DATA_ATUAL'', ''LJ_PERFIL_USUARIO.DATA_PARA_TRANSFERENCIA''')   
	END;

	IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LJ_TRANSACAO' AND COLUMN_NAME = 'DATA_PARA_TRANSFERENCIA')
	BEGIN
	   EXEC('ALTER TABLE LJ_TRANSACAO ADD DATA_PARA_TRANSFERENCIA DATETIME')
	   EXEC('SP_BINDEFAULT ''DATA_ATUAL'', ''LJ_TRANSACAO.DATA_PARA_TRANSFERENCIA''')   
	END;

	IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'CLASSIF_FISCAL_IMPOSTO' AND COLUMN_NAME = 'LX_HASH')
	BEGIN
		EXEC('ALTER TABLE CLASSIF_FISCAL_IMPOSTO ADD LX_HASH VARBINARY (16)')
	END;

	 IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'PRODUTOS' AND COLUMN_NAME = 'LX_HASH')
	BEGIN
		EXEC('ALTER TABLE PRODUTOS ADD LX_HASH VARBINARY (16) ')
	END;

	IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'PRODUTOS_BARRA' AND COLUMN_NAME = 'LX_HASH')
	BEGIN
		EXEC('ALTER TABLE PRODUTOS_BARRA ADD LX_HASH VARBINARY (16)')
	END;

	IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'PRODUTOS_PRECOS' AND COLUMN_NAME = 'LX_HASH')
	BEGIN
		EXEC('ALTER TABLE PRODUTOS_PRECOS ADD LX_HASH VARBINARY (16)')
	END;

	IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LCF_LX_UF' AND COLUMN_NAME = 'DATA_PARA_TRANSFERENCIA')
	BEGIN
		EXEC('ALTER TABLE LCF_LX_UF ADD DATA_PARA_TRANSFERENCIA DATETIME')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM  INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'PRODUTOS' AND COLUMN_NAME = 'NAO_ENVIA_ETL')
	BEGIN	
		ALTER TABLE PRODUTOS ADD NAO_ENVIA_ETL BIT NOT NULL DEFAULT (0)
	END;
	
	IF NOT EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_PEDIDO' AND COLUMN_NAME = 'LX_PEDIDO_ORIGEM')
	BEGIN
		   EXEC('ALTER TABLE LOJA_PEDIDO ADD LX_PEDIDO_ORIGEM TINYINT NOT NULL CONSTRAINT [DF__LOJA_PEDI__LX_PEDIDO_ORIGEM___3B910AB8] DEFAULT (0)')
	END;


	IF NOT EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA' AND COLUMN_NAME = 'LX_VENDA_ORIGEM')
	BEGIN
		   EXEC('ALTER TABLE LOJA_VENDA ADD LX_VENDA_ORIGEM TINYINT NOT NULL CONSTRAINT [DF__LLOJA_VEND__LX_VENDA_ORIGEM___3B910AB8] DEFAULT (0)')
	END;

---------------------------------------------############  Script de criação adicional do Omni  #####################---------------------------------------------------------------

	if Exists (Select Top 1 1 from  INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'EMPRESA')
	Begin
		If Not Exists (Select Top 1 1 from  INFORMATION_SCHEMA.COLUMNS where table_name = 'EMPRESA' and Column_Name = 'EMPRESA_SUPERIOR')
		Begin	
			EXEC('ALTER TABLE EMPRESA ADD EMPRESA_SUPERIOR INT NULL')
		END;
	END;

	If Not Exists (Select Top 1 1 from  INFORMATION_SCHEMA.COLUMNS where table_name = 'LOJA_VENDEDORES' and Column_Name = 'EMAIL')
	Begin	
		EXEC('ALTER TABLE LOJA_VENDEDORES ADD EMAIL VARCHAR(250) NULL')
	END;

	If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'COLECOES' and Column_Name = 'ID_ATRIBUTO')
	Begin
		EXEC('ALTER TABLE COLECOES ADD ID_ATRIBUTO int NULL ')
	END;

	if Exists (Select Top 1 1 from  INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'CORES_BASICAS')
	Begin
		If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'CORES_BASICAS' and Column_Name = 'ID_ATRIBUTO')
		Begin
			exec('ALTER TABLE CORES_BASICAS ADD ID_ATRIBUTO int NULL ')
		END;
	END;

	If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'PRODUTOS_GRUPO' and Column_Name = 'ID_ATRIBUTO')
	Begin
		exec('ALTER TABLE PRODUTOS_GRUPO ADD ID_ATRIBUTO int NULL ')
	END;

	If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'PRODUTOS_TAMANHOS' and Column_Name = 'ID_ATRIBUTO')
	Begin
		exec('ALTER TABLE PRODUTOS_TAMANHOS ADD ID_ATRIBUTO int NULL ')
	END;

	If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'PRODUTOS_GRIFFES' and Column_Name = 'ID_ATRIBUTO')
	Begin
		exec('ALTER TABLE PRODUTOS_GRIFFES ADD ID_ATRIBUTO int NULL ')
	END;

	If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'PRODUTOS_TIPOS' and Column_Name = 'ID_ATRIBUTO')
	Begin
		exec('ALTER TABLE PRODUTOS_TIPOS ADD ID_ATRIBUTO int NULL ')
	END;

	If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'PRODUTOS_LINHAS' and Column_Name = 'ID_ATRIBUTO')
	Begin
		exec('ALTER TABLE PRODUTOS_LINHAS ADD ID_ATRIBUTO int NULL ')
	END;

	If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'PRODUTOS_CATEGORIA' and Column_Name = 'ID_ATRIBUTO')
	Begin
		exec('ALTER TABLE PRODUTOS_CATEGORIA ADD ID_ATRIBUTO int NULL ')
	END;

	if Exists (Select Top 1 1 from  INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'PRODUTOS_SEGMENTO')
	Begin
		If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'PRODUTOS_SEGMENTO' and Column_Name = 'ID_ATRIBUTO')
		Begin
			exec('ALTER TABLE PRODUTOS_SEGMENTO ADD ID_ATRIBUTO int NULL ')
		END;
	END;

	if Exists (Select Top 1 1 from  INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'PRODUTOS_SOLUCAO')
	Begin
		If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'PRODUTOS_SOLUCAO' and Column_Name = 'ID_ATRIBUTO')
		Begin
			exec('ALTER TABLE PRODUTOS_SOLUCAO ADD ID_ATRIBUTO int NULL ')
		END;
	END;

	if Exists (Select Top 1 1 from  INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'EMPRESA')
	Begin
		if Exists (Select Top 1 1 from  INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'EMPRESA')
		Begin
			If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'EMPRESA' and Column_Name = 'ID_GPECON')
			Begin
				exec('ALTER TABLE EMPRESA ADD ID_GPECON int NULL ')
			END;
		END;
	END;

	If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'PRODUTOS_SUBGRUPO' and Column_Name = 'ID_ATRIBUTO')
	Begin
		exec('ALTER TABLE PRODUTOS_SUBGRUPO ADD ID_ATRIBUTO int NULL ')
	END;
 
	If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'PRODUTOS_LINHAS' and Column_Name = 'ID_LINHA_PRODUTO')
	Begin	
		exec('ALTER TABLE PRODUTOS_LINHAS ADD ID_LINHA_PRODUTO int NULL ')
	END;

	if Exists (Select Top 1 1 from  INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'PRODUTOS_SUBCATEGORIA')
	Begin
		If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'PRODUTOS_SUBCATEGORIA' and Column_Name = 'ID_ATRIBUTO')
		Begin
			Exec('ALTER TABLE PRODUTOS_SUBCATEGORIA ADD ID_ATRIBUTO int NULL')
		END;
	END;

	IF Exists (Select Top 1 1 from  INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'PRODUTOS_MODELO')
	BEGIN
		If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'PRODUTOS_MODELO' and Column_Name = 'ID_ATRIBUTO')
		BEGIN
			Exec('ALTER TABLE PRODUTOS_MODELO ADD ID_ATRIBUTO int NULL ')
		END;
	END;

	If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'TABELAS_PRECO' and Column_Name = 'ID_TAB_PRECO')
	BEGIN
		Exec('ALTER TABLE TABELAS_PRECO ADD ID_TAB_PRECO int NULL') 
	END;

	If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'CLIENTES_VAREJO' and Column_Name = 'INATIVO_PARA_CRM')
	Begin
		Exec('ALTER TABLE CLIENTES_VAREJO ADD INATIVO_PARA_CRM bit null')
	END;

	--Atualiza a Coluna para não enviar valores Nulos.
	If Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'CLIENTES_VAREJO' and Column_Name = 'INATIVO_PARA_CRM')
	BEGIN
		Exec('Update Clientes_Varejo Set INATIVO_PARA_CRM = 0, Data_Para_Transferencia = Data_Para_Transferencia where INATIVO_PARA_CRM is null')
	END;

	If Exists(Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'CLIENTES_VAREJO' and Column_Name = 'INATIVO_PARA_CRM' And Is_Nullable != 'NO')
	BEGIN
		Exec('ALTER TABLE CLIENTES_VAREJO Alter Column INATIVO_PARA_CRM bit not null')
		EXEC('SP_BINDEFAULT ''DEFAULT_0'', [CLIENTES_VAREJO.INATIVO_PARA_CRM]')	
	END;

	--Atualiza a Coluna para não enviar valores Nul	
	EXEC('Update Clientes_Varejo Set LX_STATUS_CLIENTE = 3, Data_Para_Transferencia = Data_Para_Transferencia where LX_STATUS_CLIENTE is null');
	
	If Not Exists (Select Top 1 1 From Information_Schema.Columns Where Table_Name = 'LOJAS_VAREJO' and Column_Name = 'ID_LOJA')
	Begin
		exec('ALTER TABLE LOJAS_VAREJO ADD ID_LOJA INT')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'COLECOES' AND COLUMN_NAME = 'COD_COLECAO' )
	BEGIN
		EXEC('ALTER TABLE COLECOES ADD COD_COLECAO CHAR (2)  NULL ')
	END;
 
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'PRODUTOS' AND COLUMN_NAME = 'LX_HASH' )
	BEGIN
		 EXEC('ALTER TABLE PRODUTOS ADD LX_HASH VARBINARY (16)  NULL ')
	END;
 
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'PRODUTOS_BARRA' AND COLUMN_NAME = 'LX_HASH' )
	BEGIN
		EXEC('ALTER TABLE PRODUTOS_BARRA ADD LX_HASH VARBINARY (16)  NULL ')
	END;
 
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'PRODUTOS_PRECOS' AND COLUMN_NAME = 'LX_HASH' )
	BEGIN
		EXEC('ALTER TABLE PRODUTOS_PRECOS ADD LX_HASH VARBINARY (16)  NULL ')
	END;
 
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'CLIENTES_VAREJO' AND COLUMN_NAME = 'ID_ACAO_CAMPANHA' )
	BEGIN
		EXEC('ALTER TABLE CLIENTES_VAREJO ADD ID_ACAO_CAMPANHA INT NULL ')
	END;
 
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA' AND COLUMN_NAME = 'ID_ACAO_CAMPANHA' )
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDA ADD ID_ACAO_CAMPANHA INT NULL ')
	END;
 
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA' AND COLUMN_NAME = 'LX_HASH' )
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDA ADD LX_HASH VARBINARY (16)  NULL ')
	END;
 
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA' AND COLUMN_NAME = 'NSU_ACUMULO_FIDELIDADE' )
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDA ADD NSU_ACUMULO_FIDELIDADE VARCHAR (15)  NULL ')
	END;
 
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA' AND COLUMN_NAME = 'NSU_RESGATE_FIDELIDADE' )
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDA ADD NSU_RESGATE_FIDELIDADE VARCHAR (15)  NULL ')
	END;
 
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA' AND COLUMN_NAME = 'HORA_ACUMULO_FIDELIDADE' )
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDA ADD HORA_ACUMULO_FIDELIDADE VARCHAR (10)  NULL ')
	END;
 
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA' AND COLUMN_NAME = 'HORA_RESGATE_FIDELIDADE' )
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDA ADD HORA_RESGATE_FIDELIDADE VARCHAR (10)  NULL ')
	END;
 
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA_PARCELAS' AND COLUMN_NAME = 'CHEQUE_DIGITO' )
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDA_PARCELAS ADD CHEQUE_DIGITO CHAR (1)  NULL')
	END;
 
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA_PARCELAS' AND COLUMN_NAME = 'ID_PLANO_FINANCIAMENTO' )
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDA_PARCELAS ADD ID_PLANO_FINANCIAMENTO SMALLINT NULL ')
	END;
 
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA_PARCELAS' AND COLUMN_NAME = 'VALOR_PARCELA_FINANC' )
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDA_PARCELAS ADD VALOR_PARCELA_FINANC NUMERIC (14,2)  NULL')
	END;
 
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA_PARCELAS' AND COLUMN_NAME = 'VALOR_TAC' )
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDA_PARCELAS ADD VALOR_TAC NUMERIC (14,2)  NULL ')
	END;
 
	IF EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA_PARCELAS' AND COLUMN_NAME = 'NUMERO_APROVACAO_CARTAO' AND CHARACTER_MAXIMUM_LENGTH != 80)
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDA_PARCELAS ALTER COLUMN NUMERO_APROVACAO_CARTAO VARCHAR(80)')
	END;

	IF EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_PEDIDO_PGTO' AND COLUMN_NAME = 'NUMERO_APROVACAO_CARTAO' AND CHARACTER_MAXIMUM_LENGTH != 80)
	BEGIN
		EXEC('ALTER TABLE LOJA_PEDIDO_PGTO ALTER COLUMN NUMERO_APROVACAO_CARTAO VARCHAR(80)')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA_PRODUTO' AND COLUMN_NAME = 'LX_HASH' )
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDA_PRODUTO ADD LX_HASH VARBINARY (16)  NULL')
	END;
 
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA_PRODUTO' AND COLUMN_NAME = 'VALOR_TOTAL' )
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDA_PRODUTO ADD VALOR_TOTAL NUMERIC (18,2)  NULL ')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'PRODUTOS_FOTO' AND COLUMN_NAME = 'FOTO_ESTAMPA' )
	BEGIN	
		EXEC('ALTER TABLE PRODUTOS_FOTO ADD FOTO_ESTAMPA BIT')
		EXEC('UPDATE PRODUTOS_FOTO SET FOTO_ESTAMPA = 0')
		EXEC('ALTER TABLE PRODUTOS_FOTO ALTER COLUMN FOTO_ESTAMPA BIT NOT NULL')
		EXEC SP_BINDEFAULT 'DEFAULT_0', 'PRODUTOS_FOTO.FOTO_ESTAMPA';
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'INVENTARIO_SUGESTAO' AND COLUMN_NAME = 'ENVIA_LOJA' )
	BEGIN
		EXEC('ALTER TABLE INVENTARIO_SUGESTAO ADD ENVIA_LOJA bit  NULL ')
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'INVENTARIO_SUGESTAO_PRODUTO' AND COLUMN_NAME = 'MOTIVO' )
	BEGIN
		EXEC('ALTER TABLE INVENTARIO_SUGESTAO_PRODUTO ADD MOTIVO varchar(100) NULL')
	END;
		
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'INVENTARIO_SUGESTAO_PRODUTO' AND COLUMN_NAME = 'ORDEM' )
	BEGIN
		EXEC('ALTER TABLE INVENTARIO_SUGESTAO_PRODUTO ADD ORDEM int NULL')
	END;
			
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'INVENTARIO_SUGESTAO_PRODUTO' AND COLUMN_NAME = 'SEQ' )
	BEGIN
		EXEC('ALTER TABLE INVENTARIO_SUGESTAO_PRODUTO ADD SEQ char(6) NULL')
	END;
	
	IF NOT EXISTS(SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE  TABLE_NAME = 'LOJA_ENTRADAS' AND COLUMN_NAME = 'CHAVE_NFE')
	BEGIN
		EXEC('ALTER TABLE LOJA_ENTRADAS ADD [CHAVE_NFE] [VARCHAR](44) NULL')
	END;
	
	IF EXISTS(SELECT * FROM PARAMETROS_LOJA WHERE PARAMETRO = 'URL_ETL_PRINCIPAL' AND VALOR_ATUAL = '' OR VALOR_ATUAL IS NULL)
	BEGIN
		EXEC('DELETE FROM PARAMETROS_LOJA WHERE PARAMETRO = ''URL_ETL_PRINCIPAL'' AND VALOR_ATUAL = '''' OR VALOR_ATUAL IS NULL')
	END;
	
	IF EXISTS(SELECT * FROM PARAMETROS_LOJA WHERE PARAMETRO = 'URL_ETL_CONTIGENCIA' AND VALOR_ATUAL = '' OR VALOR_ATUAL IS NULL)
	BEGIN
		EXEC('DELETE FROM PARAMETROS_LOJA WHERE PARAMETRO = ''URL_ETL_CONTIGENCIA'' AND VALOR_ATUAL = '''' OR VALOR_ATUAL IS NULL')
	END;

	IF EXISTS(SELECT * FROM PARAMETROS_LOJA WHERE PARAMETRO = 'URL_ETL_LOJA' AND VALOR_ATUAL = '' OR VALOR_ATUAL IS NULL)
	BEGIN
		EXEC('DELETE FROM PARAMETROS_LOJA WHERE PARAMETRO = ''URL_ETL_LOJA'' AND VALOR_ATUAL = '''' OR VALOR_ATUAL IS NULL')
	END;

	IF NOT EXISTS(SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE  TABLE_NAME = 'LOJA_TRANSITO' AND COLUMN_NAME = 'CHAVE_NFE')
	BEGIN
		EXEC('ALTER TABLE LOJA_TRANSITO ADD [CHAVE_NFE] [VARCHAR](44) NULL')
	END;

	IF EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE  TABLE_NAME = 'LOJA_ENTRADAS_DIF')
	BEGIN
		IF NOT EXISTS(SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE  TABLE_NAME = 'LOJA_ENTRADAS_DIF' AND COLUMN_NAME = 'CHAVE_NFE')
		BEGIN
			EXEC('ALTER TABLE LOJA_ENTRADAS_DIF ADD [CHAVE_NFE] [VARCHAR](44) NULL')
		END;
	END;
 
	IF NOT EXISTS(SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE  TABLE_NAME = 'LOJA_VENDA_PGTO' AND COLUMN_NAME = 'GUID_VENDA_SAT')
	BEGIN
		EXEC('ALTER TABLE [dbo].[LOJA_VENDA_PGTO] ADD [GUID_VENDA_SAT] [uniqueidentifier] NULL')
	END;
  	
	IF NOT EXISTS(SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE  TABLE_NAME = 'LOJA_IMPRESSORAS_FISCAIS' AND COLUMN_NAME = 'TIPO_ECF')
	BEGIN
		EXEC('ALTER TABLE LOJA_IMPRESSORAS_FISCAIS ADD [TIPO_ECF] [char](7) NOT NULL CONSTRAINT [DF__LOJA_IMPR__TIPO___3B910AB8]  DEFAULT (''ecf-if'')')
	END;
	
	--IF NOT EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'ETL_HABILITA_TRACE')
	--BEGIN
	--	INSERT INTO dbo.PARAMETROS (PARAMETRO,PENULT_ATUALIZACAO,ULT_ATUALIZACAO,VALOR_ATUAL,DESC_PARAMETRO,TIPO_DADO,DATA_PARA_TRANSFERENCIA,ENVIA_PARA_LOJA,APLICACAO) VALUES ('ETL_HABILITA_TRACE',getdate(),getdate(),'.F.','Habilita/desabilita o trace do ETL (.F. - Desabilita,  .T. - Habilita','L',getdate(),1,'ETL')
	--END;

	IF EXISTS(SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'INVENTARIO') AND type in (N'U'))
	BEGIN
		IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS 
		 WHERE TABLE_NAME = 'INVENTARIO' AND COLUMN_NAME = 'QTDE_TOTAL' AND UPPER(DATA_TYPE) = UPPER('numeric') AND UPPER(IS_NULLABLE) = UPPER('YES') AND ISNULL(NUMERIC_PRECISION,0) = 10 AND ISNULL(NUMERIC_SCALE,0) = 3)
		BEGIN
		EXECUTE ('sp_unbindefault N''dbo.INVENTARIO.LX_STATUS_INVENTARIO''')

		EXECUTE('ALTER TABLE INVENTARIO ALTER COLUMN LX_STATUS_INVENTARIO [tinyint] NULL')
	
		EXECUTE ('sp_bindefault N''dbo.DEFAULT_0'', N''dbo.INVENTARIO.LX_STATUS_INVENTARIO''')

		EXECUTE('sp_unbindefault N''dbo.INVENTARIO.QTDE_TOTAL''')

		EXECUTE('ALTER TABLE INVENTARIO ALTER COLUMN QTDE_TOTAL numeric(10, 3) NULL')	
		
		EXECUTE('ALTER TABLE INVENTARIO ALTER COLUMN LX_STATUS_INVENTARIO tinyint NULL ')	

		EXECUTE ('sp_bindefault N''dbo.DEFAULT_0'', N''dbo.INVENTARIO.QTDE_TOTAL''')
	
		EXECUTE('ALTER TABLE dbo.INVENTARIO SET (LOCK_ESCALATION = TABLE)')

		END;
	END;

	IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'TABELA_ALIQUOTA_IMPOSTO_ITEM' AND  COLUMN_NAME = 'ID_IMPOSTO_ITEM' AND COLUMN_DEFAULT IS NOT NULL)
	BEGIN
		EXECUTE sp_unbindefault N'dbo.TABELA_ALIQUOTA_IMPOSTO_ITEM.ID_IMPOSTO_ITEM'
	END;

	IF NOT EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'FILIAIS' AND COLUMN_NAME = 'MATRIZ_FISCAL' )
	BEGIN
		ALTER TABLE FILIAIS ADD MATRIZ_FISCAL varchar(25) NULL
	END;

	IF NOT EXISTS(SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE  TABLE_NAME = 'PARAMETROS' AND COLUMN_NAME = 'APLICACAO')
	BEGIN
		ALTER TABLE dbo.PARAMETROS ADD
		APLICACAO varchar(50) NULL
	END;

	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'PROP_CLIENTES_VAREJO' )
	BEGIN

		CREATE TABLE [dbo].[PROP_CLIENTES_VAREJO](
			[PROPRIEDADE] [char](5) NOT NULL,
			[CODIGO_CLIENTE] [varchar](14) NOT NULL,
			[ITEM_PROPRIEDADE] [smallint] NOT NULL,
			[VALOR_PROPRIEDADE] [varchar](70) NULL,
			[DATA_PARA_TRANSFERENCIA] [datetime] NULL,
		 CONSTRAINT [XPKPROP_CLIENTES_VAREJO] PRIMARY KEY NONCLUSTERED 
		(
			[PROPRIEDADE] ASC,
			[CODIGO_CLIENTE] ASC,
			[ITEM_PROPRIEDADE] ASC
		)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
		) ON [PRIMARY]
	
		SET ANSI_PADDING OFF
	
		ALTER TABLE [dbo].[PROP_CLIENTES_VAREJO]  WITH CHECK ADD  CONSTRAINT [XFKP1_PROP_CLIENTES_VAREJO] FOREIGN KEY([PROPRIEDADE])
		REFERENCES [dbo].[PROPRIEDADE] ([PROPRIEDADE])
		ON UPDATE CASCADE
		ON DELETE CASCADE

		ALTER TABLE [dbo].[PROP_CLIENTES_VAREJO] CHECK CONSTRAINT [XFKP1_PROP_CLIENTES_VAREJO]

		ALTER TABLE [dbo].[PROP_CLIENTES_VAREJO]  WITH CHECK ADD  CONSTRAINT [XFKP2_PROP_CLIENTES_VAREJO] FOREIGN KEY([CODIGO_CLIENTE])
		REFERENCES [dbo].[CLIENTES_VAREJO] ([CODIGO_CLIENTE])
		ON UPDATE CASCADE
		ON DELETE CASCADE

		ALTER TABLE [dbo].[PROP_CLIENTES_VAREJO] CHECK CONSTRAINT [XFKP2_PROP_CLIENTES_VAREJO]
	END;

	IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[LX_LOG_SITEF]') AND TYPE IN (N'U'))
	BEGIN
		CREATE TABLE [DBO].[LX_LOG_SITEF](
			[ID_LOG_SITEF] [int] IDENTITY(1,1) NOT NULL,
			[CODIGO_FILIAL]		[CHAR](6) NOT NULL,
			[FILIAL]			[VARCHAR] (25) NULL,
			[TERMINAL]			[CHAR] (3) NULL,
			[VENDEDOR_APELIDO]	[VARCHAR] (25) NULL,
			[TICKET]			[CHAR] (8) NULL,
			[DATA_HORA]			[DATETIME] NOT NULL,
			[RETORNO_SITEF]		[VARCHAR] (200) NULL,
			[MENSAGEM_TEF]		[VARCHAR] (200) NULL,
			[ERRO_SITEF]		[VARCHAR] (200) NULL
			)
	END;

	-- ADD PK
	IF NOT EXISTS (SELECT * FROM sys.objects WHERE name = 'XPKLX_LOG_SITEF' AND type = 'PK')
	BEGIN
		ALTER TABLE [dbo].[LX_LOG_SITEF] ADD CONSTRAINT [XPKLX_LOG_SITEF] PRIMARY KEY  CLUSTERED  ( [ID_LOG_SITEF] )  ON [PRIMARY] 
	END;

	----------- CORREÇÃO
	IF NOT EXISTS( SELECT 1 FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE WHERE TABLE_NAME = 'LOJA_VENDA_PROMOCAO' AND COLUMN_NAME = 'ITEM')
	BEGIN
		EXEC('
		
				IF (SELECT object_id(''XPKLOJA_VENDA_PROMOCAO'')) IS NOT NULL
				BEGIN
					ALTER TABLE [dbo].[LOJA_VENDA_PROMOCAO] DROP CONSTRAINT [XPKLOJA_VENDA_PROMOCAO] 
				END;

				IF (SELECT object_id(''PK_LOJA_VENDA_PROMOCAO'')) IS NOT NULL
				BEGIN
					ALTER TABLE [dbo].[LOJA_VENDA_PROMOCAO] DROP CONSTRAINT [PK_LOJA_VENDA_PROMOCAO] 
				END;

				IF (SELECT object_id(''PK_LOJA_VENDA_PROMOCAO_CUPOM'')) IS NOT NULL AND EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE WHERE TABLE_NAME = ''LOJA_VENDA_PROMOCAO_CUPOM'')
				BEGIN
					ALTER TABLE [dbo].[LOJA_VENDA_PROMOCAO_CUPOM] DROP CONSTRAINT [XPKLOJA_VENDA_PROMOCAO_CUPOM] 
				END;

				IF (SELECT object_id(''PK_LOJA_VENDA_PROMOCAO_CUPOM'')) IS NOT NULL AND EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE WHERE TABLE_NAME = ''LOJA_VENDA_PROMOCAO_CUPOM'')
				BEGIN
					ALTER TABLE [dbo].[LOJA_VENDA_PROMOCAO_CUPOM] DROP CONSTRAINT [XPKLOJA_VENDA_PROMOCAO_CUPOM] 
				END;

				IF NOT EXISTS ( SELECT  1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA_PROMOCAO'' AND COLUMN_NAME = ''ITEM'' )
				BEGIN
					ALTER TABLE LOJA_VENDA_PROMOCAO ADD ITEM char(04) NULL
				END;
		
			')
	END;

	IF NOT EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA_PROMOCAO' AND COLUMN_NAME = 'DESC_PROMOCAO' )
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDA_PROMOCAO ADD DESC_PROMOCAO VARCHAR(60) NULL')
	END;
       
	---ITEM
	IF EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA_PROMOCAO' AND COLUMN_NAME = 'ITEM')
	BEGIN
		EXEC('
		
				IF EXISTS ( SELECT ITEM FROM LOJA_VENDA_PROMOCAO WHERE ITEM is null )
				BEGIN
					UPDATE LOJA_VENDA_PROMOCAO SET ITEM = ''0000'' WHERE ITEM is null
				END;
       
				IF EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA_PROMOCAO'' AND COLUMN_NAME = ''ITEM'' AND COLUMN_DEFAULT IS NULL)
				BEGIN
					IF (SELECT object_id(''DEFAULT_0000'')) IS NOT NULL
						Execute SP_BINDEFAULT ''DEFAULT_0000'', ''DBO.LOJA_VENDA_PROMOCAO.ITEM''
					else
						ALTER TABLE LOJA_VENDA_PROMOCAO ADD CONSTRAINT DEFAULT_0000 DEFAULT N''0000'' FOR ITEM
				END;

		')
	END;

	IF EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA_PROMOCAO' AND COLUMN_NAME = 'ITEM' AND IS_NULLABLE = 'YES')
	BEGIN
		EXEC('ALTER TABLE LOJA_VENDA_PROMOCAO ALTER COLUMN ITEM char(04) NOT NULL')
	END;

	--- DATA_VENDA
	IF NOT EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA_PROMOCAO_CUPOM' AND COLUMN_NAME = 'DATA_VENDA' )
	BEGIN
		EXEC('
		
				IF EXISTS( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA_PROMOCAO_CUPOM'')
				BEGIN
					IF (SELECT object_id(''XPKLOJA_VENDA_PROMOCAO_CUPOM'')) IS NOT NULL
					BEGIN
						ALTER TABLE [dbo].[LOJA_VENDA_PROMOCAO_CUPOM] DROP CONSTRAINT [XPKLOJA_VENDA_PROMOCAO_CUPOM] 
					END;
		
					ALTER TABLE LOJA_VENDA_PROMOCAO_CUPOM ADD DATA_VENDA DATETIME NULL
				END;
				
			')
	END

	IF EXISTS( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA_PROMOCAO_CUPOM' AND COLUMN_NAME = 'DATA_VENDA')
	BEGIN
		
		EXEC('
		
				IF EXISTS ( SELECT DATA_VENDA FROM LOJA_VENDA_PROMOCAO_CUPOM WHERE DATA_VENDA is null )
				BEGIN
					UPDATE LOJA_VENDA_PROMOCAO_CUPOM SET DATA_VENDA = convert(char(10), DATA_HORA, 112) WHERE DATA_VENDA is null
				END;

				IF NOT EXISTS ( select 1 from sys.columns where name = ''DATA_VENDA'' and
														OBJECT_NAME(object_id) = ''LOJA_VENDA_PROMOCAO_CUPOM'' and
														is_nullable = 0 and default_object_id <> 0 )
				BEGIN
					IF (SELECT object_id(''LXDF_DATA_ATUAL'')) IS NOT NULL
						BEGIN
							Execute SP_BINDEFAULT ''LXDF_DATA_ATUAL'', ''DBO.LOJA_VENDA_PROMOCAO_CUPOM.DATA_VENDA''
						END
				END;

			')
	END;

	IF EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA_PROMOCAO_CUPOM' AND COLUMN_NAME = 'DATA_VENDA' AND IS_NULLABLE = 'YES')
	BEGIN

		EXEC('
		
				IF EXISTS( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA_PROMOCAO_CUPOM'')
				BEGIN
					ALTER TABLE LOJA_VENDA_PROMOCAO_CUPOM ALTER COLUMN DATA_VENDA DATETIME NOT NULL
				END

			')
	END;
       
	if (SELECT object_id('XPKLOJA_VENDA_PROMOCAO')) IS NULL AND EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA_PROMOCAO')
	BEGIN
		ALTER TABLE [dbo].[LOJA_VENDA_PROMOCAO] 
		ADD CONSTRAINT [XPKLOJA_VENDA_PROMOCAO] PRIMARY KEY CLUSTERED ([CODIGO_FILIAL], [TICKET], [DATA_VENDA], [ID_PROMOCAO], [ITEM]) ON [PRIMARY]
	END;

	if (SELECT object_id('XPKLOJA_VENDA_PROMOCAO_CUPOM')) IS NULL AND EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_VENDA_PROMOCAO_CUPOM')
	BEGIN
		ALTER TABLE [dbo].[LOJA_VENDA_PROMOCAO_CUPOM] 
		ADD CONSTRAINT [XPKLOJA_VENDA_PROMOCAO_CUPOM] PRIMARY KEY CLUSTERED ([CODIGO_FILIAL], [TICKET], [DATA_VENDA], [ID_PROMOCAO], [CODIGO_CUPOM]) ON [PRIMARY]
	END;
	
	--CRIACAO DA TABELA LJ_CADASTRO_MAQUINA_POS

	IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'LJ_CADASTRO_MAQUINA_POS')
	BEGIN
		CREATE TABLE [dbo].[LJ_CADASTRO_MAQUINA_POS](
			[CODIGO_FILIAL]			[char](6) NOT NULL,
			[NUMERO_DE_SERIE]		[varchar](18) NOT NULL,
			[DESCRICAO]				[varchar](30) NOT NULL,
			[DATA_PARA_TRANSFERENCIA] [datetime] NULL DEFAULT ('DATA_ATUAL')
		 CONSTRAINT [XPKLJ_CADASTRO_MAQUINA_POS] PRIMARY KEY NONCLUSTERED 
		(
			[CODIGO_FILIAL] ASC,
			[NUMERO_DE_SERIE] ASC
		)
		) ON [PRIMARY]
	END;


	--CRIACAO DA TABELA LOJA_VENDA_DADOS_CARTAO

	IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'LOJA_VENDA_DADOS_CARTAO')
	BEGIN
		CREATE TABLE [dbo].[LOJA_VENDA_DADOS_CARTAO](
			[TERMINAL]				[char](3) NOT NULL,
			[LANCAMENTO_CAIXA]		[char](7) NOT NULL,
			[CODIGO_FILIAL]			[char](6) NOT NULL,
			[PARCELA]				[char](2) NOT NULL,
			[NUMERO_INICIAL_CARTAO] [char](6) NULL,
			[NUMERO_FINAL_CARTAO]	[char](4) NULL,
			[TITULAR_CARTAO]		[char](32) NULL,
			[DATA_EXPIRACAO_CARTAO] [char](4) NULL,
			[DATA_PARA_TRANSFERENCIA] [datetime] NULL DEFAULT ('DATA_ATUAL')
		 CONSTRAINT [XPKLOJA_VENDA_DADOS_CARTAO] PRIMARY KEY CLUSTERED 
		(
			[TERMINAL] ASC,
			[LANCAMENTO_CAIXA] ASC,
			[CODIGO_FILIAL] ASC,
			[PARCELA] ASC
		)
		) ON [PRIMARY]
	END;

	-- ADD FK - XFK1000_LOJA_VENDA_DADOS_CARTAO
	IF  NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE 
					WHERE TABLE_NAME = 'LOJA_VENDA_DADOS_CARTAO' AND CONSTRAINT_NAME = 'XFK1000_LOJA_VENDA_DADOS_CARTAO')
	BEGIN
		ALTER TABLE [dbo].[LOJA_VENDA_DADOS_CARTAO]  WITH NOCHECK ADD  CONSTRAINT [XFK1000_LOJA_VENDA_DADOS_CARTAO] FOREIGN KEY([TERMINAL], [LANCAMENTO_CAIXA], [CODIGO_FILIAL], [PARCELA])
		REFERENCES [dbo].[LOJA_VENDA_PARCELAS] ([TERMINAL], [LANCAMENTO_CAIXA], [CODIGO_FILIAL], [PARCELA])
	END;


	IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'LOJA_VENDA_PARCELAS_MFE')
	BEGIN
		CREATE TABLE [dbo].[LOJA_VENDA_PARCELAS_MFE](
			[TERMINAL]                 [char](3) NOT NULL,
			[LANCAMENTO_CAIXA]         [char](7) NOT NULL,
			[CODIGO_FILIAL]            [char](6) NOT NULL,
			[PARCELA]                  [char](2) NOT NULL,
			[ID_PAGAMENTO]             [int] NULL DEFAULT ('DEFAULT_0'),
			[ID_FILA]				   [int] NULL DEFAULT ('DEFAULT_0'),
			[ID_REFERENCIA_CLIENT]	   [int] NULL DEFAULT ('DEFAULT_0'),
			[RETORNO]				   [varchar](250) NULL,
			[INDICA_CARTAO_CONCILIADO] [INT] NULL DEFAULT ('DEFAULT_0'),
			[CSTAT] 				   [char](5) NULL,
			[ID_PAGAMENTO_FINAL]       [int] NULL DEFAULT ('DEFAULT_0'),
			[PENDENTE]                 [int] NULL DEFAULT ('DEFAULT_0'),
			[ID_REFERENCIA_CLIENT_INICIAL] [int] NULL DEFAULT('DEFAULT_0'),
			[DATA_PARA_TRANSFERENCIA] [datetime] NULL DEFAULT ('DATA_ATUAL')
		 CONSTRAINT [XPKLOJA_VENDA_PARCELAS_MFE] PRIMARY KEY CLUSTERED 
		(
			[TERMINAL] ASC,
			[LANCAMENTO_CAIXA] ASC,
			[CODIGO_FILIAL] ASC,
			[PARCELA] ASC
		)
		) ON [PRIMARY]
	END;

	-- ADD FK - XFK10001_LOJA_VENDA_PARCELAS_MFE
	IF  NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE 
					WHERE TABLE_NAME = 'LOJA_VENDA_PARCELAS_MFE' AND CONSTRAINT_NAME = 'XFK10001_LOJA_VENDA_PARCELAS_MFE')
	BEGIN 
		ALTER TABLE [dbo].[LOJA_VENDA_PARCELAS_MFE]  WITH CHECK ADD  CONSTRAINT [XFK10001_LOJA_VENDA_PARCELAS_MFE] FOREIGN KEY([TERMINAL], [LANCAMENTO_CAIXA], [CODIGO_FILIAL], [PARCELA])
		REFERENCES [dbo].[LOJA_VENDA_PARCELAS] ([TERMINAL], [LANCAMENTO_CAIXA], [CODIGO_FILIAL], [PARCELA])
	END;


	/*
	-----------------------------------------------------------------------------------------------------------------------------------------------------
	--	ALTERAÇÕES DE BANCO PARA A VERSÃO 3.1.10.2
	-----------------------------------------------------------------------------------------------------------------------------------------------------
	*/

	/*
		PROMO - ALTERAÇÕES PARA ATENDER O PROMO
	*/
 
	 EXEC('IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA_PROMOCAO'' AND COLUMN_NAME = ''CAMPANHA'')
		ALTER TABLE LOJA_VENDA_PROMOCAO ADD CAMPANHA VARCHAR(100)')

	EXEC('IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA_PROMOCAO'' AND COLUMN_NAME = ''PRECO_UNITARIO'')
		ALTER TABLE LOJA_VENDA_PROMOCAO ADD PRECO_UNITARIO NUMERIC(9,2)')

	EXEC('IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA_PROMOCAO'' AND COLUMN_NAME = ''VALOR_DESCONTO'')
		ALTER TABLE LOJA_VENDA_PROMOCAO ADD VALOR_DESCONTO NUMERIC(9,2)')

	EXEC('IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA_PROMOCAO'' AND COLUMN_NAME = ''ID_BENEFICIO'')
		ALTER TABLE LOJA_VENDA_PROMOCAO ADD ID_BENEFICIO SMALLINT NOT NULL DEFAULT  (0)')
	
	EXEC('IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA_PROMOCAO'' AND COLUMN_NAME = ''VERSAO_MAPA'')
		ALTER TABLE LOJA_VENDA_PROMOCAO ADD VERSAO_MAPA SMALLINT NOT NULL DEFAULT  (0)')
	
	EXEC('IF exists(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA_PROMOCAO'' AND COLUMN_NAME = ''DESC_PROMOCAO'' AND CHARACTER_MAXIMUM_LENGTH < 250)
		alter table LOJA_VENDA_PROMOCAO alter column DESC_PROMOCAO varchar(250)')

	EXEC('IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA_PROMOCAO'' AND COLUMN_NAME = ''QTDE'')
	ALTER TABLE LOJA_VENDA_PROMOCAO ADD QTDE SMALLINT NULL DEFAULT (0)')

	EXEC('IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA_PROMOCAO'' AND COLUMN_NAME = ''BASE_CALCULO'')
	ALTER TABLE LOJA_VENDA_PROMOCAO ADD BASE_CALCULO NUMERIC(9,2)')

	EXEC('IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA_PROMOCAO_CUPOM'' AND COLUMN_NAME = ''VOUCHER_NUMBER'')
		ALTER TABLE LOJA_VENDA_PROMOCAO_CUPOM ADD VOUCHER_NUMBER VARCHAR(150) NULL')

	EXEC('IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA_PROMOCAO_CUPOM'' AND COLUMN_NAME = ''COUPON_ID'')
		ALTER TABLE LOJA_VENDA_PROMOCAO_CUPOM ADD COUPON_ID VARCHAR(150) NULL')

	/*
		OMS - ALTERAÇÕES PARA ATENDER A OMS
	*/

	EXEC('IF NOT EXISTS (SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO'' AND COLUMN_NAME = ''LX_PEDIDO_ORIGEM'')
		ALTER TABLE [dbo].[LOJA_PEDIDO] ADD LX_PEDIDO_ORIGEM TINYINT')

	EXEC('IF NOT EXISTS (SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO'' AND COLUMN_NAME = ''ID_ENTREGA_ORIGEM'')
		ALTER TABLE [dbo].[LOJA_PEDIDO] ADD ID_ENTREGA_ORIGEM VARCHAR(20)')

	EXEC('IF NOT EXISTS (SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO'' AND COLUMN_NAME = ''ID_PEDIDO_ORIGEM'')
		ALTER TABLE [dbo].[LOJA_PEDIDO] ADD ID_PEDIDO_ORIGEM VARCHAR(20)')
	  	
	EXEC('IF NOT EXISTS (SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO'' AND COLUMN_NAME = ''SITUACAO_OMS'')
		ALTER TABLE [dbo].[LOJA_PEDIDO] ADD SITUACAO_OMS TINYINT')

	EXEC('IF NOT EXISTS (SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO'' AND COLUMN_NAME = ''TIPO_ENTREGA'')
		ALTER TABLE [dbo].[LOJA_PEDIDO] ADD TIPO_ENTREGA TINYINT')

	EXEC('IF NOT EXISTS (SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO'' AND COLUMN_NAME = ''OBSERVACOES'')
		ALTER TABLE [dbo].[LOJA_PEDIDO] ADD OBSERVACOES TEXT NULL')

	EXEC('IF NOT EXISTS (SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO'' AND COLUMN_NAME = ''TRANSPORTADORA'')  
		ALTER TABLE [dbo].[LOJA_PEDIDO] ADD TRANSPORTADORA VARCHAR(25) NULL')



	EXEC('IF NOT EXISTS (SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO_PRODUTO'' AND COLUMN_NAME = ''SEQ_ENTREGA'')
		 ALTER TABLE [dbo].[LOJA_PEDIDO_PRODUTO] ADD SEQ_ENTREGA TINYINT')

	EXEC('IF NOT EXISTS (SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO_PRODUTO'' AND COLUMN_NAME = ''DADOS_ADICIONAIS'')
		ALTER TABLE [dbo].[LOJA_PEDIDO_PRODUTO] ADD DADOS_ADICIONAIS VARCHAR(1024) NULL')



	EXEC('IF OBJECT_ID(''DBO.LOJA_PEDIDO_ENTREGA'',''U'')  IS NULL 
			BEGIN

				CREATE TABLE DBO.LOJA_PEDIDO_ENTREGA
				(
					CODIGO_FILIAL_ORIGEM	CHAR(6) NOT NULL,
					PEDIDO	                INT NOT NULL    ,
					SEQ_ENTREGA	            TINYINT NOT NULL,
					ITEM_ENDERECO	        CHAR(18)        ,
					DADOS_RESERVA	        VARCHAR(4000)   ,
					DADOS_CONSULTA	        VARCHAR(4000)
				)

				ALTER TABLE DBO.LOJA_PEDIDO_ENTREGA ADD CONSTRAINT  XPKLOJA_PEDIDO_ENTREGA PRIMARY KEY (CODIGO_FILIAL_ORIGEM, PEDIDO, SEQ_ENTREGA)

			END
		')

	EXEC('
		IF NOT EXISTS (SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE  TABLE_NAME = ''LOJA_PEDIDO_ENTREGA'' AND COLUMN_NAME = ''OPCAO_ENTREGA'')
			ALTER TABLE [dbo].[LOJA_PEDIDO_ENTREGA] ADD OPCAO_ENTREGA VARCHAR(4000) NULL
		ELSE
			ALTER TABLE [dbo].[LOJA_PEDIDO_ENTREGA] ALTER COLUMN OPCAO_ENTREGA VARCHAR(4000) NULL
		')
		
	EXEC('IF NOT EXISTS (SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE  TABLE_NAME = ''LOJA_PEDIDO_ENTREGA'' AND COLUMN_NAME = ''ID_PEDIDO_ORIGEM'')
		ALTER TABLE [dbo].[LOJA_PEDIDO_ENTREGA] ADD ID_PEDIDO_ORIGEM VARCHAR(20) NULL')

	EXEC('IF NOT EXISTS (SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE  TABLE_NAME = ''LOJA_PEDIDO_ENTREGA'' AND COLUMN_NAME = ''FRETE'')
		ALTER TABLE [dbo].[LOJA_PEDIDO_ENTREGA] ADD FRETE NUMERIC(14,2) NULL')


	
	EXEC('IF NOT EXISTS (SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA_TROCA'' AND COLUMN_NAME = ''ORIGEM_OMS'')
		ALTER TABLE [dbo].[LOJA_VENDA_TROCA] ADD ORIGEM_OMS BIT NULL')



	EXEC('IF OBJECT_ID(''DBO.LOJA_PEDIDO_DEVOLUCAO'',''U'')  IS NULL 
		BEGIN

			CREATE TABLE DBO.LOJA_PEDIDO_DEVOLUCAO
			(
				CODIGO_FILIAL_ORIGEM	   CHAR(6)  NOT NULL,
				PEDIDO	                   INT NOT  NULL    ,
				TICKET                     CHAR(8)  NULL    ,
				DATA_VENDA                 DATETIME NULL    ,
				NF_NUMERO                  CHAR(15) NULL    ,
				SERIE_NF                   CHAR(6)  NULL 
			)

			ALTER TABLE DBO.LOJA_PEDIDO_DEVOLUCAO ADD CONSTRAINT  XPKLOJA_PEDIDO_DEVOLUCAO PRIMARY KEY (CODIGO_FILIAL_ORIGEM, PEDIDO)

		END')

	EXEC('
		IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA_TROCA_TICKET'' AND COLUMN_NAME = ''STATUS_TROCA'')
		BEGIN
			ALTER TABLE [dbo].[LOJA_VENDA_TROCA_TICKET] ADD STATUS_TROCA BIT NOT NULL DEFAULT 0
		END')
	
	EXEC('
		IF NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''PRODUTOS'' AND COLUMN_NAME = ''DESCRICAO_B2C'')
		BEGIN
			ALTER TABLE [dbo].[PRODUTOS] ADD [DESCRICAO_B2C] [varchar](2000) NULL
		END')	

	EXEC('
		IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE  TABLE_NAME = ''LOJA_PEDIDO'' AND COLUMN_NAME = ''CANAL_OMS'') 
		BEGIN
			ALTER TABLE [dbo].[LOJA_PEDIDO] ADD [CANAL_OMS] [VARCHAR](50) NULL
		END')      

	EXEC('
		IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''CTB_EXCECAO_IMPOSTO_ITEM'' AND COLUMN_NAME = ''SUB_ITEM_SPED'')
		BEGIN
			ALTER TABLE CTB_EXCECAO_IMPOSTO_ITEM ADD SUB_ITEM_SPED VARCHAR(10) NULL
		END
		ELSE
		BEGIN
			IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''CTB_EXCECAO_IMPOSTO_ITEM'' AND COLUMN_NAME = ''SUB_ITEM_SPED'' AND CHARACTER_MAXIMUM_LENGTH < 10 )
			BEGIN			
				ALTER TABLE CTB_EXCECAO_IMPOSTO_ITEM ALTER COLUMN SUB_ITEM_SPED VARCHAR(10) NULL
			END		
		END'
		)

	EXEC('
		IF NOT EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO'' AND COLUMN_NAME = ''CONFERIDO'' )
		BEGIN
			ALTER TABLE [dbo].[LOJA_PEDIDO] ADD CONFERIDO BIT 
		END
	')

	EXEC('
		IF NOT EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO'' AND COLUMN_NAME = ''CHANNEL_ID'' )
		BEGIN
			ALTER TABLE [dbo].[LOJA_PEDIDO] ADD CHANNEL_ID VARCHAR(100)
		END
	')

	EXEC(' 
		IF NOT EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO_PRODUTO'' AND COLUMN_NAME = ''CONFERIDO'' )
		BEGIN
			ALTER TABLE [dbo].[LOJA_PEDIDO_PRODUTO] ADD CONFERIDO BIT 
		END
	')

	EXEC('
		IF NOT EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO_PRODUTO'' AND COLUMN_NAME = ''QTDE_CONFERIDA'')
		BEGIN
		   ALTER TABLE [dbo].[LOJA_PEDIDO_PRODUTO] ADD QTDE_CONFERIDA INT 
		END
	')

	EXEC('
		IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''FILIAIS'' AND COLUMN_NAME = ''DATA_ABERTURA'')
		BEGIN
			ALTER TABLE FILIAIS ADD DATA_ABERTURA DATETIME NULL DEFAULT GETDATE()
		END
	')

	EXEC('
		IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LJ_BLOCOX_CONTROLE_GERA_XML'')
		BEGIN
			CREATE TABLE [dbo].[LJ_BLOCOX_CONTROLE_GERA_XML](
				[ID_BLOCOX] [int] NOT NULL,
				[CODIGO_FILIAL] [char](6) NOT NULL,
				[TIPO_ARQUIVO] [char](2) NULL,
				[ID_EQUIPAMENTO] [varchar](20) NULL,
				[CRO] [smallint] NULL,
				[CRZ] [smallint] NULL,
				[DATA_MES] [datetime] NOT NULL,
				[SITUACAO] [int] NULL,
				[COD_RET_SEFAZ] [int] NULL,
				[COD_MSG_RET_SEFAZ] [varchar](10) NULL,
				[RECIBO] [varchar](62) NULL,
				[MSG_RET_SEFAZ] [varchar](max) NULL,
				[DATA_PARA_TRANSFERENCIA] [datetime] NULL,
			 CONSTRAINT [XPKLJ_BLOCOX_CONTROLE_GERA_XML] PRIMARY KEY CLUSTERED 
			(
				[ID_BLOCOX] ASC,
				[CODIGO_FILIAL] ASC
			)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
			) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
		END
	')

	EXEC('
		IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LJ_BLOCOX_XML'')
		BEGIN
			CREATE TABLE [dbo].[LJ_BLOCOX_XML](
				[ID_BLOCOX] [int] NOT NULL,
				[CODIGO_FILIAL] [char](6) NOT NULL,
				[XML_ARQUIVO] [varchar](max) NULL,
				[XML_RECIBO] [varchar](1024) NULL,
				[DATA_PARA_TRANSFERENCIA] [datetime] NULL,
			 CONSTRAINT [XPKLJ_BLOCOX_XML] PRIMARY KEY CLUSTERED 
			(
				[ID_BLOCOX] ASC,
				[CODIGO_FILIAL] ASC
			)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
			) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
		END
	')

	EXEC('
		IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE WHERE TABLE_NAME = ''LJ_BLOCOX_XML'' AND CONSTRAINT_NAME = ''XFK10001_LJ_BLOCOX_XML'')
		BEGIN
			ALTER TABLE [dbo].[LJ_BLOCOX_XML]  WITH CHECK ADD  CONSTRAINT [XFK10001_LJ_BLOCOX_XML] FOREIGN KEY([ID_BLOCOX], [CODIGO_FILIAL])
			REFERENCES [dbo].[LJ_BLOCOX_CONTROLE_GERA_XML] ([ID_BLOCOX], [CODIGO_FILIAL])

			ALTER TABLE [dbo].[LJ_BLOCOX_XML] CHECK CONSTRAINT [XFK10001_LJ_BLOCOX_XML]
		END
	')

	EXEC('
		IF NOT EXISTS (SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS
			WHERE  TABLE_NAME = ''LOJA_NOTA_FISCAL_XML'' AND COLUMN_NAME = ''URL_DANFE'')
		BEGIN
		  ALTER TABLE [dbo].[LOJA_NOTA_FISCAL_XML] ADD URL_DANFE VARCHAR(MAX) NULL
		END
	')
    
	EXEC('  
		IF NOT EXISTS (SELECT 1  FROM   INFORMATION_SCHEMA.COLUMNS
			  WHERE  TABLE_NAME = ''LOJA_NOTA_FISCAL_XML'' AND COLUMN_NAME = ''DATA_PARA_TRANSFERENCIA'')
		BEGIN
		  ALTER TABLE [dbo].[LOJA_NOTA_FISCAL_XML] ADD DATA_PARA_TRANSFERENCIA DATETIME DEFAULT GETDATE() NULL
		END
	')

	EXEC('
		IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N''[DBO].[CLIENTE_VAR_DOCUMENTO_TIPO]'') AND TYPE IN (N''U''))
		begin
			CREATE TABLE [dbo].[CLIENTE_VAR_DOCUMENTO_TIPO](
				[ID] INT NOT NULL,
				[TIPO] VARCHAR(25) NOT NULL,
				[INATIVO] [bit] NOT NULL,
				[DATA_PARA_TRANSFERENCIA] [datetime] NULL,
				CONSTRAINT [XPKCLIENTE_VAR_DOCUMENTO_TIPO] PRIMARY KEY NONCLUSTERED 
			(
				[ID] ASC
			)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 100) ON [PRIMARY]
			) ON [PRIMARY]
		end
	')

	EXEC('
		IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N''[DBO].[CLIENTES_VAREJO_DOCUMENTO]'') AND TYPE IN (N''U''))
		BEGIN
			CREATE TABLE dbo.CLIENTES_VAREJO_DOCUMENTO(
				ID INT NOT NULL,
				CODIGO_CLIENTE VARCHAR(14) NOT NULL,
				CODIGO_FILIAL CHAR(6) NOT NULL,
				LEGENDA VARCHAR(50) NULL,
				RESPONSAVEL VARCHAR(25) NULL,
				ID_DOC_TIPO INT NOT NULL,
				PATH_ARQUIVO VARCHAR(250) NULL,
				CONTEUDO TEXT NULL,
				INATIVO BIT NOT NULL,
				DATA_PARA_TRANSFERENCIA [datetime] NULL,
			 CONSTRAINT [XPKCLIENTES_VAREJO_DOCUMENTO] PRIMARY KEY NONCLUSTERED 
			(
				ID ASC,
				CODIGO_CLIENTE asc,
				CODIGO_FILIAL asc
			)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 100) ON [PRIMARY]
			) ON [PRIMARY]

			ALTER TABLE [dbo].CLIENTES_VAREJO_DOCUMENTO  WITH NOCHECK ADD  CONSTRAINT [XFK12782_CLIENTES_VAREJO_DOCUMENTO] FOREIGN KEY([CODIGO_CLIENTE])
			REFERENCES [dbo].CLIENTES_VAREJO ([CODIGO_CLIENTE])
			NOT FOR REPLICATION 
    
			ALTER TABLE [dbo].CLIENTES_VAREJO_DOCUMENTO CHECK CONSTRAINT [XFK12782_CLIENTES_VAREJO_DOCUMENTO]

			ALTER TABLE [dbo].CLIENTES_VAREJO_DOCUMENTO  WITH NOCHECK ADD  CONSTRAINT [XFK12789_CLIENTES_VAREJO_DOCUMENTO] FOREIGN KEY(ID_DOC_TIPO)
			REFERENCES [dbo].[CLIENTE_VAR_DOCUMENTO_TIPO] (ID)
			NOT FOR REPLICATION 
    
			ALTER TABLE [dbo].CLIENTES_VAREJO_DOCUMENTO CHECK CONSTRAINT [XFK12789_CLIENTES_VAREJO_DOCUMENTO]
		END
	')

	EXEC('
		IF NOT EXISTS(	SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS 
					WHERE TABLE_NAME = ''ADMINISTRADORAS_CARTAO'' AND COLUMN_NAME = ''COD_ADM_LINXPAY'')
		BEGIN
			ALTER TABLE dbo.ADMINISTRADORAS_CARTAO ADD COD_ADM_LINXPAY CHAR(03) NULL
		END	
	')

	EXEC('
		IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N''[dbo].[LINXPAY_LOG_ENVIO_RECEBIMENTO]'') AND type in (N''U''))
		BEGIN
			CREATE TABLE [dbo].[LINXPAY_LOG_ENVIO_RECEBIMENTO](
				[CODIGO_FILIAL_ORIGEM] [char](8) NOT NULL,
				[SEQUENCIAL_PRE_VENDA] [char](13) NULL,
				[IDPAGAMENTO] [varchar](100) NOT NULL,
				[LINK_PAGAMENTO] [varchar](500) NULL,
				[EXPIRA_LINK] [datetime] NULL,
				[EMAIL] [varchar](200) NULL,
				[EMAIL_ENVIADO] [bit] NULL,
				[PEDIDO] [char](20) NOT NULL,
				[ENVIO] [varchar](max) NULL,
				[MERCHANTORDERID] [varchar](20) NULL,
				[PAN] [varchar](30) NULL,
				[AMOUNT] [numeric](15, 2) NULL,
				[INSTALLMENTS] [varchar](10) NULL,
				[CURRENCYB] [varchar](10) NULL,
				[BIN] [varchar](20) NULL,
				[BRAND] [varchar](20) NULL,
				[COUNTRY] [varchar](15) NULL,
				[STATUSP] [varchar](20) NULL,
				[CREATEDAT] [datetime] NULL,
				[SUPPLIERNAME] [varchar](25) NULL,
				[PAYERTRANSACTIONSTATUS] [varchar](30) NULL,
				[NSU] [varchar](30) NULL,
				[AUTHORIZATIONCODE] [varchar](25) NULL,
				[CURRENCYT] [varchar](20) NULL,
				[RETORNO] [varchar](max) NULL,
				[REQUESTID] [varchar](200) NULL,
				[MODE] [int] NULL,
				[TICKET] [char](8) NULL,
				[TERMINAL] [char](3) NULL,
				[DATA_VENDA] [datetime] NULL,
				[SIGNATURE] [varchar](100) NULL,
				[LASTTRANSACTIONSTATUS] [varchar](30) NULL,
				[DATA_PARA_TRANSFERENCIA] [datetime] NULL,
				[MOTIVO_CANCELAMENTO] [varchar](30) null,
			 CONSTRAINT [XPKLINXPAY_LOG_ENVIO_RECEBIMENTO] PRIMARY KEY CLUSTERED 
			(
				[CODIGO_FILIAL_ORIGEM] ASC,
				[PEDIDO] ASC,
				[IDPAGAMENTO] ASC
			)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
			) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
		END
	')

	EXEC(' IF EXISTS (SELECT 1 FROM [INFORMATION_SCHEMA].[COLUMNS] WHERE  [TABLE_NAME] = ''LOJA_PEDIDO_PGTO''
					AND [COLUMN_NAME] = ''CHEQUE_CARTAO'' AND CHARACTER_MAXIMUM_LENGTH < 36)
	BEGIN 
		ALTER TABLE [DBO].[LOJA_PEDIDO_PGTO] ALTER COLUMN CHEQUE_CARTAO VARCHAR(36) 
	END
	')

	EXEC(' IF EXISTS (SELECT 1 FROM [INFORMATION_SCHEMA].[COLUMNS] WHERE  [TABLE_NAME] = ''LOJA_VENDA_PARCELAS''
					AND [COLUMN_NAME] = ''CHEQUE_CARTAO'' AND CHARACTER_MAXIMUM_LENGTH < 36)
	BEGIN 
		ALTER TABLE [DBO].[LOJA_VENDA_PARCELAS] ALTER COLUMN CHEQUE_CARTAO VARCHAR(36) 
	END
	')

	/*
	-----------------------------------------------------------------------------------------------------------------------------------------------------
	--	ALTERAÇÕES DE BANCO PARA A VERSÃO 3.1.10.12
	-----------------------------------------------------------------------------------------------------------------------------------------------------
	*/

	EXEC('
		IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_ENTREGA_FUTURA_HST'') BEGIN
			CREATE TABLE LOJA_ENTREGA_FUTURA_HST
			(
			   ID_HST                        INT          NOT NULL,
			   CODIGO_FILIAL_ORIGEM          CHAR(6)      NOT NULL,
			   PEDIDO                        INT          NOT NULL,
			   ITEM	                         INT          NOT NULL,
			   ROMANEIO_PRODUTO              CHAR(15)     NOT NULL,
			   NF_REMESSA                    CHAR(15)     NULL,
			   SERIE_NF_REMESSA              CHAR(6)      NULL,
			   ITEM_IMPRESSAO_REMESSA        CHAR(4)      NULL,
			   SUB_ITEM_TAMANHO_REMESSA      INT          NULL,
			   NF_CANCELAMENTO               CHAR(15)     NULL,
			   SERIE_NF_CANCELAMENTO         CHAR(6)      NULL,
			   ITEM_IMPRESSAO_CANCELAMENTO   CHAR(4)      NULL,
			   SUB_ITEM_TAMANHO_CANCELAMENTO INT          NULL,
			   STATUS_PEDIDO                 INT          NULL,
			   QTDE_CANCELADA                INT          NULL,
			   QTDE_ENTREGUE                 INT          NULL,
			   MOTIVO_CANCELAMENTO_PEDIDO    VARCHAR(255) NULL,
			   MOTIVO_CANCELAMENTO_ITEM      VARCHAR(255) NULL,
			   DATA_HST                      DATETIME     NULL,
			   USUARIO_HST                   VARCHAR(100) NULL,
			   DATA_PARA_TRANSFERENCIA		 DATETIME DEFAULT GETDATE(),
			   CONSTRAINT [PK_LOJA_ENTREGA_FUTURA_HST] PRIMARY KEY NONCLUSTERED 
			   (
						[ID_HST], [CODIGO_FILIAL_ORIGEM], [PEDIDO], [ROMANEIO_PRODUTO], [ITEM]
				)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
			) ON [PRIMARY]
		END
	')

	EXEC('
		IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO'' AND COLUMN_NAME = ''DATA_ENTREGA'') 
		BEGIN
			ALTER TABLE [dbo].[LOJA_PEDIDO] ADD DATA_ENTREGA DATETIME 
		END
	')

	EXEC('
		IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO'' AND COLUMN_NAME = ''STATUS_PEDIDO'') 
		BEGIN
			ALTER TABLE [dbo].[LOJA_PEDIDO] ADD STATUS_PEDIDO TINYINT 
		END
	')

	EXEC('
		IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO'' AND COLUMN_NAME = ''SITUACAO_PEDIDO'') 
		BEGIN
			ALTER TABLE [dbo].[LOJA_PEDIDO] ADD SITUACAO_PEDIDO TINYINT 
		END
	')

	EXEC('
		IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO_PRODUTO'' AND COLUMN_NAME = ''QTDE_CANCELADA'') 
		BEGIN
			ALTER TABLE [dbo].[LOJA_PEDIDO_PRODUTO] ADD QTDE_CANCELADA INT 
		END
	')

	EXEC('
		IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO_PRODUTO'' AND COLUMN_NAME = ''QTDE_PENDENTE_DE_REMESSA'') 
		BEGIN
			ALTER TABLE [dbo].[LOJA_PEDIDO_PRODUTO] ADD QTDE_PENDENTE_DE_REMESSA INT 
		END
	')

	EXEC('
		IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO_PRODUTO'' AND COLUMN_NAME = ''QTDE_ENTREGUE'') 
		BEGIN
			ALTER TABLE [dbo].[LOJA_PEDIDO_PRODUTO] ADD QTDE_ENTREGUE INT 
		END
	')

	EXEC('
		IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO_PRODUTO'' AND COLUMN_NAME = ''MOTIVO_CANCELAMENTO'') 
		BEGIN
			ALTER TABLE [dbo].[LOJA_PEDIDO_PRODUTO] ADD MOTIVO_CANCELAMENTO VARCHAR(255)
		END
	')

	EXEC('IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_SAIDAS'' AND COLUMN_NAME = ''CODIGO_CLIENTE'') 
	BEGIN
		ALTER TABLE [dbo].[LOJA_SAIDAS] ADD CODIGO_CLIENTE VARCHAR(14) NULL
	END
	')

	EXEC('
		IF NOT EXISTS (SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS
               WHERE  TABLE_NAME = ''LOJA_VENDA_TROCA_TICKET'' AND COLUMN_NAME = ''QTDE_VIAS_IMPRESSAS'')
			ALTER TABLE [dbo].[LOJA_VENDA_TROCA_TICKET] add QTDE_VIAS_IMPRESSAS INT NOT NULL default 0 '
	)

	EXEC('
		IF NOT EXISTS (SELECT 1 FROM   INFORMATION_SCHEMA.COLUMNS
               WHERE  TABLE_NAME = ''ADMINISTRADORAS_CARTAO'' AND COLUMN_NAME = ''MODALIDADE_QR'')
			ALTER TABLE [dbo].[ADMINISTRADORAS_CARTAO] ADD MODALIDADE_QR TINYINT'
	)

	EXEC('
		IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO'' AND COLUMN_NAME = ''ID_INTERMEDIADOR'')
		BEGIN
			   ALTER TABLE LOJA_PEDIDO ADD ID_INTERMEDIADOR int NULL
		END
	')

	EXEC('
		IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_PEDIDO'' AND COLUMN_NAME = ''PGTO_INTERMEDIADOR'')
		BEGIN
			   ALTER TABLE LOJA_VENDA ADD LOJA_PEDIDO BIT DEFAULT(0)
		END
	')

	EXEC('
		IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA'' AND COLUMN_NAME = ''ID_INTERMEDIADOR'')
		BEGIN
			   ALTER TABLE LOJA_VENDA ADD ID_INTERMEDIADOR int NULL
		END
	')

	EXEC('
		IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_VENDA'' AND COLUMN_NAME = ''PGTO_INTERMEDIADOR'')
		BEGIN
			   ALTER TABLE LOJA_VENDA ADD PGTO_INTERMEDIADOR BIT DEFAULT(0)
		END
	')
	

	EXEC('
		IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_NOTA_FISCAL'' AND COLUMN_NAME = ''ID_INTERMEDIADOR'')
		BEGIN
			   ALTER TABLE LOJA_NOTA_FISCAL ADD ID_INTERMEDIADOR int NULL
		END
	')

	EXEC('
		IF NOT EXISTS(SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ''LOJA_NOTA_FISCAL'' AND COLUMN_NAME = ''PGTO_INTERMEDIADOR'')
		BEGIN
			   ALTER TABLE LOJA_NOTA_FISCAL ADD PGTO_INTERMEDIADOR BIT DEFAULT(0)
		END
	')

		--MEGASULT INDICA CONTROLE DECIMAIS NA QUANTIDADE
    EXEC('
		 IF NOT EXISTS(SELECT 1 FROM PARAMETROS WHERE PARAMETRO = ''ETL_UTILIZA_DEC_MEGA'')
    BEGIN 
	    Insert into PARAMETROS (PARAMETRO,VALOR_ATUAL,DESC_PARAMETRO,TIPO_DADO,PENULT_ATUALIZACAO,ULT_ATUALIZACAO,NOTA_PROGRAMADOR,GLOBAL,ENVIA_PARA_LOJA,PERMITE_POR_LOJA)
	    VALUES (''ETL_UTILIZA_DEC_MEGA'',''.F.'',''INDICA UTILIZACAO DO PACOTE DE DECIMAIS'',''L'',CAST(GETDATE() AS DATE),CAST(GETDATE() AS DATE),''INDICA SE UTILIZA DECIMAIS NA QUANTIDADE ESTOQUE DO PRODUTO ACABADO, DE INT PARA NUMERIC(10,3)'',1,1,0)
    END
	')

    --PARAMETRO: ETL_UTILIZA_DEC_MEGA
	IF (select VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO='ETL_UTILIZA_DEC_MEGA') = '.T.'
	    BEGIN
		    --DESATIVANDO BO PADRAO..
            exec('update LJ_ETL_TIPO_COMPONENTE set inativo=1 where id_etl_tipo in (278,273,212,171,52,13,12,10,7,5,6)')
            exec('update lj_lx_etl_tipo set inativo=1 where id_etl_tipo in (278,273,212,171,52,13,12,10,7,5,6)')

            --ATIVANDO BO CUSTOMIZADO..
            exec('update LJ_ETL_TIPO_COMPONENTE set inativo=0 where id_etl_tipo in (62,63,64,65,66,67,68,321,322,323,324)')
            exec('update lj_lx_etl_tipo set inativo=0 where id_etl_tipo in (62,63,64,65,66,67,68,321,322,323,324)')
	    END
    ELSE
        BEGIN
		    --ATIVANDO BO PADRAO..
            exec('update LJ_ETL_TIPO_COMPONENTE set inativo=0 where id_etl_tipo in (278,273,212,171,52,13,12,10,7,5,6)')
            exec('update lj_lx_etl_tipo set inativo=0 where id_etl_tipo in (278,273,212,171,52,13,12,10,7,5,6)')

            --DESATIVANDO BO CUSTOMIZADO..
            exec('update LJ_ETL_TIPO_COMPONENTE set inativo=1 where id_etl_tipo in (62,63,64,65,66,67,68,321,322,323,324)')
            exec('update lj_lx_etl_tipo set inativo=1 where id_etl_tipo in (62,63,64,65,66,67,68,321,322,323,324)')
	    END
	
	IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'ESTOQUE_SUGESTAO_TRANSFERENCIA' and COLUMN_NAME = 'DATA_PARA_TRANSFERENCIA' AND DATA_TYPE = 'DATETIME')
	BEGIN
		 EXEC('alter table ESTOQUE_SUGESTAO_TRANSFERENCIA ADD  DATA_PARA_TRANSFERENCIA DATETIME')
	END
	--Megasult

	--LGPD
	IF EXISTS (SELECT 1 FROM lj_lx_etl_tipo WHERE ID_ETL_TIPO = 187 AND CTRL_EMPRESA = 1)
	BEGIN
		EXEC('update lj_lx_etl_tipo set CTRL_EMPRESA = 0, CTRL_FILIAL = 1 where ID_ETL_TIPO = 187')
	END

	---- Adequação para uso do Linx POS 7.10 SPK 25 e Linx ERP 8.01 HF 01.24.050
	IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LOJA_CF_SAT_XML' AND COLUMN_NAME = 'DATA_PARA_TRANSFERENCIA')
	BEGIN
		EXEC('ALTER TABLE LOJA_CF_SAT_XML ADD DATA_PARA_TRANSFERENCIA DATETIME NULL DEFAULT GETDATE()')
	END

	---- Adequação para uso da tabela TABELA_CODIGO_AJUSTE_SPED
	IF EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'TABELA_CODIGO_AJUSTE_SPED' ) AND
		 NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'TABELA_CODIGO_AJUSTE_SPED' AND COLUMN_NAME = 'DATA_PARA_TRANSFERENCIA')
	BEGIN
		EXEC('ALTER TABLE TABELA_CODIGO_AJUSTE_SPED ADD DATA_PARA_TRANSFERENCIA DATETIME NULL DEFAULT GETDATE()')
	END

	PRINT 'COMMIT';
	COMMIT;

END TRY
BEGIN CATCH

	PRINT 'ROLLBACK';
	THROW;
	ROLLBACK;

	SELECT ERROR_NUMBER() AS ErrorNumber, ERROR_MESSAGE() AS ErrorMessage;

END CATCH


