View Issue Details

IDProjectCategoryView StatusLast Update
0000977ГРАНИТGeneralpublic2017-08-08 23:03
Reporterruslan Assigned Tobarry  
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
Summary0000977: +БД Гранит - внести изменения в эталонную базу для синхронизации полей по проектам ДК
DescriptionВ приложении результирующий скрипт сравнения с текущей версией базы для внесения изменений, проверь и добавь пожалуйста.
TagsNo tags attached.

Activities

ruslan

2016-11-08 16:05

manager  

newSql.txt (4,444 bytes)   
ALTER TABLE DK_BNS ADD CURRTYPID INTEGER;

UPDATE RDB$RELATION_FIELDS SET RDB$DESCRIPTION = 
'Ссылка на связанную валюту для определения курса обмена на денежные бонусы (кофе-гривны)'
WHERE RDB$RELATION_NAME = 'DK_BNS' AND RDB$FIELD_NAME = 'CURRTYPID';

ALTER TABLE DK_BNS ADD "TYPE" SMALLINT DEFAULT 0 NOT NULL;

ALTER TABLE DK_BNS ADD EXTERNALID INTEGER;

UPDATE RDB$RELATION_FIELDS SET RDB$DESCRIPTION = 
'Значение соответствует полю Id в таблице Bonuses процессингового центра'
WHERE RDB$RELATION_NAME = 'DK_BNS' AND RDB$FIELD_NAME = 'EXTERNALID';

ALTER TABLE DK_DISCOUNTBONUSSETS ADD QUANTITY DOUBLE PRECISION;

UPDATE RDB$RELATION_FIELDS SET RDB$DESCRIPTION = 
'Количество'
WHERE RDB$RELATION_NAME = 'DK_DISCOUNTBONUSSETS' AND RDB$FIELD_NAME = 'QUANTITY';

ALTER TABLE ORGN ADD PHONENBR VARCHAR(12);

UPDATE RDB$RELATION_FIELDS SET RDB$DESCRIPTION = 
'Телефонный номер. Все 12 цифр и никаких других символов.'
WHERE RDB$RELATION_NAME = 'ORGN' AND RDB$FIELD_NAME = 'PHONENBR';

ALTER TABLE WORKMAIN ADD RECEIPE BLOB SUB_TYPE 1 SEGMENT SIZE 4096;

ALTER TABLE WORKZAKAZ ADD STATE SMALLINT DEFAULT 0;

UPDATE RDB$RELATION_FIELDS SET RDB$DESCRIPTION = 
'0 - Open; 1 - Frozen;'
WHERE RDB$RELATION_NAME = 'WORKZAKAZ' AND RDB$FIELD_NAME = 'STATE';

/* Alter Field: DK_BNS_ORGN.CNT: (INTEGER NOT NULL -> DOUBLE PRECISION NOT NULL) */
UPDATE RDB$FIELDS SET
 RDB$FIELD_LENGTH=8, RDB$FIELD_TYPE=27
  WHERE RDB$FIELD_NAME=(SELECT RDB$FIELD_SOURCE FROM RDB$RELATION_FIELDS
  WHERE RDB$FIELD_NAME='CNT' AND RDB$RELATION_NAME='DK_BNS_ORGN');

ALTER TABLE DK_BNS_ORGN_LOG ALTER COLUMN VAL TYPE DOUBLE PRECISION;

UPDATE RDB$RELATION_FIELDS SET RDB$DESCRIPTION = 
'Пользователь, совершивший операцию'
WHERE RDB$RELATION_NAME = 'DK_BNS_ORGN_LOG' AND RDB$FIELD_NAME = 'USERNAME';

/* Alter Field: DK_BNS_PRICEGOODS.BNS_CNT: (INTEGER NOT NULL -> DOUBLE PRECISION NOT NULL) */
UPDATE RDB$FIELDS SET
 RDB$FIELD_LENGTH=8, RDB$FIELD_TYPE=27
  WHERE RDB$FIELD_NAME=(SELECT RDB$FIELD_SOURCE FROM RDB$RELATION_FIELDS
  WHERE RDB$FIELD_NAME='BNS_CNT' AND RDB$RELATION_NAME='DK_BNS_PRICEGOODS');

/* Alter Field: DK_BNS_PRICEGOODS.PRICEGOODS_CNT: (INTEGER NOT NULL -> DOUBLE PRECISION NOT NULL) */
UPDATE RDB$FIELDS SET
 RDB$FIELD_LENGTH=8, RDB$FIELD_TYPE=27
  WHERE RDB$FIELD_NAME=(SELECT RDB$FIELD_SOURCE FROM RDB$RELATION_FIELDS
  WHERE RDB$FIELD_NAME='PRICEGOODS_CNT' AND RDB$RELATION_NAME='DK_BNS_PRICEGOODS');

UPDATE RDB$RELATION_FIELDS SET RDB$DESCRIPTION = 
'Идентификатор группы складов'
WHERE RDB$RELATION_NAME = 'DK_DISCOUNTBONUSSETSTORGRP' AND RDB$FIELD_NAME = 'STOREGROUPID';

ALTER TABLE DK_BNS ADD CONSTRAINT FK_DK_BNS_CURRTYPID FOREIGN KEY (CURRTYPID) REFERENCES CURRTYP (ID);

ALTER TABLE DK_DISCOUNTBONUSSETGOODS ADD CONSTRAINT FK_DK_DISCOUNTBONUSSET FOREIGN KEY (DISCOUNTBONUSSETID) REFERENCES DK_DISCOUNTBONUSSETS (ID) ON UPDATE CASCADE ON DELETE CASCADE;

ALTER TABLE DK_BNS ALTER COLUMN ID POSITION 1;

ALTER TABLE DK_BNS ALTER COLUMN NAME POSITION 2;

ALTER TABLE DK_BNS ALTER COLUMN VAL POSITION 3;

ALTER TABLE DK_BNS ALTER COLUMN CURRTYPID POSITION 4;

ALTER TABLE DK_BNS ALTER COLUMN "TYPE" POSITION 5;

ALTER TABLE DK_BNS ALTER COLUMN EXTERNALID POSITION 6;

ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN ID POSITION 1;

ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN NAME POSITION 2;

ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN DAYSOFWEEK POSITION 3;

ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN PERIODBEGIN POSITION 4;

ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN PERIODEND POSITION 5;

ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN FROMTIME POSITION 6;

ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN TOTIME POSITION 7;

ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN GOAL POSITION 8;

ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN "TYPE" POSITION 9;

ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN VAL POSITION 10;

ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN STATE POSITION 11;

ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN USERNAME POSITION 12;

ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN LASTEDIT POSITION 13;

ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN QUANTITY POSITION 14;
newSql.txt (4,444 bytes)   

barry

2016-11-09 11:14

administrator   ~0002458

"TYPE" плохое поле, TYP сделайте

ruslan

2016-11-09 16:26

manager   ~0002459

Я с Димой поговорил, мы глянули в T_SQL type не было никогда резервируемым , в фб - начиная с версии интербэйс 6 оно перестало быть резервируемым (но осталось ключевым), вроде небыло никогда проблем с таким наименованием и он в табличке DK_DISCOUNTBONUSSETS уже его использовал - это принципиально?

barry

2016-11-09 22:34

administrator   ~0002460

Лучше поменять, меньше головняка

ruslan

2016-11-09 23:00

manager   ~0002461

Оба поля?

barry

2016-11-09 23:27

administrator   ~0002462

можете вообще не менять, я просто высказал свое мнение, я бы так не делал

ruslan

2016-11-09 23:36

manager   ~0002463

ну думаю тогда ты сделай так как в скрипте... чтоб уже работающий код не лопатить а на будущее будем придерживаться варианта с typ

barry

2016-11-10 11:57

administrator   ~0002464

mebl_ib5.zip

Issue History

Date Modified Username Field Change
2016-11-08 16:05 ruslan New Issue
2016-11-08 16:05 ruslan File Added: newSql.txt
2016-11-09 11:14 barry Note Added: 0002458
2016-11-09 16:26 ruslan Note Added: 0002459
2016-11-09 22:34 barry Note Added: 0002460
2016-11-09 23:00 ruslan Note Added: 0002461
2016-11-09 23:27 barry Note Added: 0002462
2016-11-09 23:36 ruslan Note Added: 0002463
2016-11-10 11:57 barry Note Added: 0002464
2016-11-10 11:57 barry Status new => resolved
2016-11-10 11:57 barry Resolution open => fixed
2016-11-10 11:57 barry Assigned To => barry
2017-08-08 23:03 ruslan Status resolved => closed