*/ protected function columnDefinitions(): array { return array( 'id bigint unsigned NOT NULL AUTO_INCREMENT', 'product_id bigint unsigned NOT NULL', 'provider_type varchar(32) NOT NULL', 'provider_item_id varchar(191) NULL', 'url text NOT NULL', 'url_hash char(64) NOT NULL', "source varchar(32) NOT NULL DEFAULT 'user'", 'created_at datetime NOT NULL', 'updated_at datetime NOT NULL', ); } /** * @return list */ protected function indexDefinitions(): array { return array( 'PRIMARY KEY (id)', 'UNIQUE KEY uq_product_provider_url (product_id, provider_type, url_hash)', 'KEY idx_product_id (product_id)', 'KEY idx_provider_type (provider_type)', 'KEY idx_provider_item (provider_type, provider_item_id)', 'KEY idx_created_at (created_at)', ); } }