优化
This commit is contained in:
@@ -36,6 +36,7 @@ CREATE TABLE IF NOT EXISTS fl_ocean_booking (
|
||||
version INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '乐观锁版本号',
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY uk_ocean_booking_no (booking_no),
|
||||
UNIQUE KEY uk_ocean_booking_bill_of_lading (bill_of_lading_no),
|
||||
KEY idx_ocean_booking_customer (customer_id,status,updated_at,id),
|
||||
KEY idx_ocean_booking_voyage (vessel_name,voyage_no,updated_at),
|
||||
CONSTRAINT chk_ocean_booking_customer CHECK (customer_id > 0),
|
||||
@@ -52,6 +53,18 @@ ALTER TABLE fl_ocean_booking
|
||||
MODIFY COLUMN customer_id BIGINT UNSIGNED NULL COMMENT '可选客户ID快照',
|
||||
MODIFY COLUMN customer_name VARCHAR(128) NULL COMMENT '可选客户名称快照';
|
||||
|
||||
SET @ocean_add_bill_unique = (
|
||||
SELECT IF(COUNT(*) = 0,
|
||||
'ALTER TABLE fl_ocean_booking ADD UNIQUE KEY uk_ocean_booking_bill_of_lading (bill_of_lading_no)',
|
||||
'SELECT 1')
|
||||
FROM information_schema.statistics
|
||||
WHERE table_schema=DATABASE() AND table_name='fl_ocean_booking'
|
||||
AND index_name='uk_ocean_booking_bill_of_lading'
|
||||
);
|
||||
PREPARE ocean_bill_unique_stmt FROM @ocean_add_bill_unique;
|
||||
EXECUTE ocean_bill_unique_stmt;
|
||||
DEALLOCATE PREPARE ocean_bill_unique_stmt;
|
||||
|
||||
-- Recreate triggers and the current two-state constraint on repeatable initialization.
|
||||
DROP TRIGGER IF EXISTS trg_ocean_booking_before_update;
|
||||
DROP TRIGGER IF EXISTS trg_ocean_party_before_insert;
|
||||
|
||||
Reference in New Issue
Block a user