From f7b7c758b68a6b73f6e0aa5e579ea2448d6c62bd Mon Sep 17 00:00:00 2001 From: Paul Klimov Date: Fri, 1 Nov 2013 16:52:31 +0200 Subject: [PATCH] Sphinx test environment setup files added. --- extensions/sphinx/yii/sphinx/Connection.php | 8 ++- extensions/sphinx/yii/sphinx/Schema.php | 19 +++++++ tests/unit/data/sphinx/sphinx.conf | 86 +++++++++++++++++++++++++++++ tests/unit/data/sphinx/sphinx.sql | 71 ++++++++++++++++++++++++ 4 files changed, 183 insertions(+), 1 deletion(-) create mode 100644 extensions/sphinx/yii/sphinx/Schema.php create mode 100644 tests/unit/data/sphinx/sphinx.conf create mode 100644 tests/unit/data/sphinx/sphinx.sql diff --git a/extensions/sphinx/yii/sphinx/Connection.php b/extensions/sphinx/yii/sphinx/Connection.php index c63ec7d..a36afb9 100644 --- a/extensions/sphinx/yii/sphinx/Connection.php +++ b/extensions/sphinx/yii/sphinx/Connection.php @@ -15,5 +15,11 @@ namespace yii\sphinx; */ class Connection extends \yii\db\Connection { - // + /** + * @inheritdoc + */ + public $schemaMap = [ + 'mysqli' => 'yii\sphinx\Schema', // MySQL + 'mysql' => 'yii\sphinx\Schema', // MySQL + ]; } \ No newline at end of file diff --git a/extensions/sphinx/yii/sphinx/Schema.php b/extensions/sphinx/yii/sphinx/Schema.php new file mode 100644 index 0000000..14d0772 --- /dev/null +++ b/extensions/sphinx/yii/sphinx/Schema.php @@ -0,0 +1,19 @@ + + * @since 2.0 + */ +class Schema extends \yii\db\mysql\Schema +{ + // +} \ No newline at end of file diff --git a/tests/unit/data/sphinx/sphinx.conf b/tests/unit/data/sphinx/sphinx.conf new file mode 100644 index 0000000..6f61583 --- /dev/null +++ b/tests/unit/data/sphinx/sphinx.conf @@ -0,0 +1,86 @@ +# +# Minimal Sphinx configuration sample (clean, simple, functional) +# + +source yii2_test_article_src +{ + type = mysql + + sql_host = localhost + sql_user = + sql_pass = + sql_db = yii2test + sql_port = 3306 # optional, default is 3306 + + sql_query = \ + SELECT *, UNIX_TIMESTAMP(create_date) AS add_date \ + FROM yii2_test_article + + sql_attr_uint = id + sql_attr_timestamp = add_date + + sql_query_info = SELECT * FROM yii2_test_article WHERE id=$id +} + + +source yii2_test_item_src +{ + type = mysql + + sql_host = localhost + sql_user = + sql_pass = + sql_db = yii2test + sql_port = 3306 # optional, default is 3306 + + sql_query = \ + SELECT *, CURRENT_TIMESTAMP() AS add_date \ + FROM yii2_test_item + + sql_attr_uint = id + sql_attr_timestamp = add_date + + sql_query_info = SELECT * FROM yii2_test_item WHERE id=$id +} + + +index yii2_test_article_index +{ + source = yii2_test_article_src + path = /var/lib/sphinx/yii2_test_article_src + docinfo = extern + charset_type = sbcs +} + + +index yii2_test_item_index +{ + source = yii2_test_item_src + path = /var/lib/sphinx/yii2_test_item_src + docinfo = extern + charset_type = sbcs +} + + +indexer +{ + mem_limit = 32M +} + + +searchd +{ + listen = 127.0.0.1:9312 + listen = 9306:mysql41 + log = /var/log/sphinx/searchd.log + query_log = /var/log/sphinx/query.log + read_timeout = 5 + max_children = 30 + pid_file = /var/run/sphinx/searchd.pid + max_matches = 1000 + seamless_rotate = 1 + preopen_indexes = 1 + unlink_old = 1 + workers = threads # for RT to work + binlog_path = /var/lib/sphinx +} diff --git a/tests/unit/data/sphinx/sphinx.sql b/tests/unit/data/sphinx/sphinx.sql new file mode 100644 index 0000000..a960e50 --- /dev/null +++ b/tests/unit/data/sphinx/sphinx.sql @@ -0,0 +1,71 @@ +-- phpMyAdmin SQL Dump +-- version 3.5.0 +-- http://www.phpmyadmin.net +-- +-- Host: 10.10.50.201 +-- Generation Time: Nov 01, 2013 at 04:38 PM +-- Server version: 5.1.69-log +-- PHP Version: 5.3.3 + +SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; + +-- +-- Database: `yiiexample` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `yii2_test_article` +-- + +CREATE TABLE IF NOT EXISTS `yii2_test_article` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `title` varchar(255) NOT NULL, + `content` text NOT NULL, + `author_id` int(11) NOT NULL, + `create_date` datetime NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ; + +-- +-- Dumping data for table `yii2_test_article` +-- + +INSERT INTO `yii2_test_article` (`id`, `title`, `content`, `author_id`, `create_date`) VALUES +(1, 'About cats', 'This article is about cats', 1, '2013-10-23 00:00:00'), +(2, 'About dogs', 'This article is about dogs', 2, '2013-11-15 00:00:00'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `yii2_test_item` +-- + +CREATE TABLE IF NOT EXISTS `yii2_test_item` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `description` text NOT NULL, + `category_id` int(11) NOT NULL, + `price` float NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ; + +-- +-- Dumping data for table `yii2_test_item` +-- + +INSERT INTO `yii2_test_item` (`id`, `name`, `description`, `category_id`, `price`) VALUES +(1, 'pencil', 'Simple pencil', 1, 2.5), +(2, 'table', 'Wooden table', 2, 100); + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;