forked from yiisoft/yii2
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
241 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
/** | ||
* This is the database schema for testing CUBRID support of Yii DAO and Active Record. | ||
* The database setup in config.php is required to perform then relevant tests: | ||
*/ | ||
|
||
DROP TABLE IF EXISTS tbl_order_item; | ||
DROP TABLE IF EXISTS tbl_item; | ||
DROP TABLE IF EXISTS tbl_order; | ||
DROP TABLE IF EXISTS tbl_category; | ||
DROP TABLE IF EXISTS tbl_customer; | ||
DROP TABLE IF EXISTS tbl_type; | ||
DROP TABLE IF EXISTS tbl_constraints; | ||
|
||
CREATE TABLE `tbl_constraints` | ||
( | ||
`id` integer not null, | ||
`field1` varchar(255) | ||
); | ||
|
||
|
||
CREATE TABLE `tbl_customer` ( | ||
`id` int(11) NOT NULL AUTO_INCREMENT, | ||
`email` varchar(128) NOT NULL, | ||
`name` varchar(128) NOT NULL, | ||
`address` string, | ||
`status` int (11) DEFAULT 0, | ||
PRIMARY KEY (`id`) | ||
); | ||
|
||
CREATE TABLE `tbl_category` ( | ||
`id` int(11) NOT NULL AUTO_INCREMENT, | ||
`name` varchar(128) NOT NULL, | ||
PRIMARY KEY (`id`) | ||
); | ||
|
||
CREATE TABLE `tbl_item` ( | ||
`id` int(11) NOT NULL AUTO_INCREMENT, | ||
`name` varchar(128) NOT NULL, | ||
`category_id` int(11) NOT NULL, | ||
PRIMARY KEY (`id`), | ||
CONSTRAINT `FK_item_category_id` FOREIGN KEY (`category_id`) REFERENCES `tbl_category` (`id`) ON DELETE CASCADE | ||
); | ||
|
||
CREATE TABLE `tbl_order` ( | ||
`id` int(11) NOT NULL AUTO_INCREMENT, | ||
`customer_id` int(11) NOT NULL, | ||
`create_time` int(11) NOT NULL, | ||
`total` decimal(10,0) NOT NULL, | ||
PRIMARY KEY (`id`), | ||
CONSTRAINT `FK_order_customer_id` FOREIGN KEY (`customer_id`) REFERENCES `tbl_customer` (`id`) ON DELETE CASCADE | ||
); | ||
|
||
CREATE TABLE `tbl_order_item` ( | ||
`order_id` int(11) NOT NULL, | ||
`item_id` int(11) NOT NULL, | ||
`quantity` int(11) NOT NULL, | ||
`subtotal` decimal(10,0) NOT NULL, | ||
PRIMARY KEY (`order_id`,`item_id`), | ||
CONSTRAINT `FK_order_item_order_id` FOREIGN KEY (`order_id`) REFERENCES `tbl_order` (`id`) ON DELETE CASCADE, | ||
CONSTRAINT `FK_order_item_item_id` FOREIGN KEY (`item_id`) REFERENCES `tbl_item` (`id`) ON DELETE CASCADE | ||
); | ||
|
||
CREATE TABLE `tbl_type` ( | ||
`int_col` int(11) NOT NULL, | ||
`int_col2` int(11) DEFAULT '1', | ||
`char_col` char(100) NOT NULL, | ||
`char_col2` varchar(100) DEFAULT 'something', | ||
`char_col3` string, | ||
`float_col` double NOT NULL, | ||
`float_col2` double DEFAULT '1.23', | ||
`blob_col` blob, | ||
`numeric_col` decimal(5,2) DEFAULT '33.22', | ||
`time` timestamp NOT NULL DEFAULT '2002-01-01 00:00:00', | ||
`bool_col` bit(1) NOT NULL, | ||
`bool_col2` bit(1) DEFAULT B'1' | ||
); | ||
|
||
INSERT INTO tbl_customer (email, name, address, status) VALUES ('[email protected]', 'user1', 'address1', 1); | ||
INSERT INTO tbl_customer (email, name, address, status) VALUES ('[email protected]', 'user2', 'address2', 1); | ||
INSERT INTO tbl_customer (email, name, address, status) VALUES ('[email protected]', 'user3', 'address3', 2); | ||
|
||
INSERT INTO tbl_category (name) VALUES ('Books'); | ||
INSERT INTO tbl_category (name) VALUES ('Movies'); | ||
|
||
INSERT INTO tbl_item (name, category_id) VALUES ('Agile Web Application Development with Yii1.1 and PHP5', 1); | ||
INSERT INTO tbl_item (name, category_id) VALUES ('Yii 1.1 Application Development Cookbook', 1); | ||
INSERT INTO tbl_item (name, category_id) VALUES ('Ice Age', 2); | ||
INSERT INTO tbl_item (name, category_id) VALUES ('Toy Story', 2); | ||
INSERT INTO tbl_item (name, category_id) VALUES ('Cars', 2); | ||
|
||
INSERT INTO tbl_order (customer_id, create_time, total) VALUES (1, 1325282384, 110.0); | ||
INSERT INTO tbl_order (customer_id, create_time, total) VALUES (2, 1325334482, 33.0); | ||
INSERT INTO tbl_order (customer_id, create_time, total) VALUES (2, 1325502201, 40.0); | ||
|
||
INSERT INTO tbl_order_item (order_id, item_id, quantity, subtotal) VALUES (1, 1, 1, 30.0); | ||
INSERT INTO tbl_order_item (order_id, item_id, quantity, subtotal) VALUES (1, 2, 2, 40.0); | ||
INSERT INTO tbl_order_item (order_id, item_id, quantity, subtotal) VALUES (2, 4, 1, 10.0); | ||
INSERT INTO tbl_order_item (order_id, item_id, quantity, subtotal) VALUES (2, 5, 1, 15.0); | ||
INSERT INTO tbl_order_item (order_id, item_id, quantity, subtotal) VALUES (2, 3, 1, 8.0); | ||
INSERT INTO tbl_order_item (order_id, item_id, quantity, subtotal) VALUES (3, 2, 1, 40.0); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?php | ||
namespace yiiunit\framework\db\cubrid; | ||
|
||
use yiiunit\framework\db\ActiveRecordTest; | ||
|
||
class CubridActiveRecordTest extends ActiveRecordTest | ||
{ | ||
protected function setUp() | ||
{ | ||
$this->driverName = 'cubrid'; | ||
parent::setUp(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?php | ||
namespace yiiunit\framework\db\cubrid; | ||
|
||
use yiiunit\framework\db\CommandTest; | ||
|
||
class CubridCommandTest extends CommandTest | ||
{ | ||
protected function setUp() | ||
{ | ||
$this->driverName = 'cubrid'; | ||
parent::setUp(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?php | ||
namespace yiiunit\framework\db\cubrid; | ||
|
||
use yiiunit\framework\db\ConnectionTest; | ||
|
||
class CubridConnectionTest extends ConnectionTest | ||
{ | ||
protected function setUp() | ||
{ | ||
$this->driverName = 'cubrid'; | ||
parent::setUp(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
<?php | ||
|
||
namespace yiiunit\framework\db\cubrid; | ||
|
||
use yii\base\NotSupportedException; | ||
use yii\db\sqlite\Schema; | ||
use yiiunit\framework\db\QueryBuilderTest; | ||
|
||
class CubridQueryBuilderTest extends QueryBuilderTest | ||
{ | ||
public $driverName = 'cubrid'; | ||
|
||
/** | ||
* this is not used as a dataprovider for testGetColumnType to speed up the test | ||
* when used as dataprovider every single line will cause a reconnect with the database which is not needed here | ||
*/ | ||
public function columnTypes() | ||
{ | ||
return array( | ||
array(Schema::TYPE_PK, 'int NOT NULL AUTO_INCREMENT PRIMARY KEY'), | ||
array(Schema::TYPE_PK . '(8)', 'int NOT NULL AUTO_INCREMENT PRIMARY KEY'), | ||
array(Schema::TYPE_PK . ' CHECK (value > 5)', 'int NOT NULL AUTO_INCREMENT PRIMARY KEY CHECK (value > 5)'), | ||
array(Schema::TYPE_PK . '(8) CHECK (value > 5)', 'int NOT NULL AUTO_INCREMENT PRIMARY KEY CHECK (value > 5)'), | ||
array(Schema::TYPE_STRING, 'varchar(255)'), | ||
array(Schema::TYPE_STRING . '(32)', 'varchar(32)'), | ||
array(Schema::TYPE_STRING . ' CHECK (value LIKE "test%")', 'varchar(255) CHECK (value LIKE "test%")'), | ||
array(Schema::TYPE_STRING . '(32) CHECK (value LIKE "test%")', 'varchar(32) CHECK (value LIKE "test%")'), | ||
array(Schema::TYPE_STRING . ' NOT NULL', 'varchar(255) NOT NULL'), | ||
array(Schema::TYPE_TEXT, 'varchar'), | ||
array(Schema::TYPE_TEXT . '(255)', 'varchar'), | ||
array(Schema::TYPE_TEXT . ' CHECK (value LIKE "test%")', 'varchar CHECK (value LIKE "test%")'), | ||
array(Schema::TYPE_TEXT . '(255) CHECK (value LIKE "test%")', 'varchar CHECK (value LIKE "test%")'), | ||
array(Schema::TYPE_TEXT . ' NOT NULL', 'varchar NOT NULL'), | ||
array(Schema::TYPE_TEXT . '(255) NOT NULL', 'varchar NOT NULL'), | ||
array(Schema::TYPE_SMALLINT, 'smallint'), | ||
array(Schema::TYPE_SMALLINT . '(8)', 'smallint'), | ||
array(Schema::TYPE_INTEGER, 'int'), | ||
array(Schema::TYPE_INTEGER . '(8)', 'int'), | ||
array(Schema::TYPE_INTEGER . ' CHECK (value > 5)', 'int CHECK (value > 5)'), | ||
array(Schema::TYPE_INTEGER . '(8) CHECK (value > 5)', 'int CHECK (value > 5)'), | ||
array(Schema::TYPE_INTEGER . ' NOT NULL', 'int NOT NULL'), | ||
array(Schema::TYPE_BIGINT, 'bigint'), | ||
array(Schema::TYPE_BIGINT . '(8)', 'bigint'), | ||
array(Schema::TYPE_BIGINT . ' CHECK (value > 5)', 'bigint CHECK (value > 5)'), | ||
array(Schema::TYPE_BIGINT . '(8) CHECK (value > 5)', 'bigint CHECK (value > 5)'), | ||
array(Schema::TYPE_BIGINT . ' NOT NULL', 'bigint NOT NULL'), | ||
array(Schema::TYPE_FLOAT, 'float(7)'), | ||
array(Schema::TYPE_FLOAT . '(16)', 'float(16)'), | ||
array(Schema::TYPE_FLOAT . ' CHECK (value > 5.6)', 'float(7) CHECK (value > 5.6)'), | ||
array(Schema::TYPE_FLOAT . '(16) CHECK (value > 5.6)', 'float(16) CHECK (value > 5.6)'), | ||
array(Schema::TYPE_FLOAT . ' NOT NULL', 'float(7) NOT NULL'), | ||
array(Schema::TYPE_DECIMAL, 'decimal(10,0)'), | ||
array(Schema::TYPE_DECIMAL . '(12,4)', 'decimal(12,4)'), | ||
array(Schema::TYPE_DECIMAL . ' CHECK (value > 5.6)', 'decimal(10,0) CHECK (value > 5.6)'), | ||
array(Schema::TYPE_DECIMAL . '(12,4) CHECK (value > 5.6)', 'decimal(12,4) CHECK (value > 5.6)'), | ||
array(Schema::TYPE_DECIMAL . ' NOT NULL', 'decimal(10,0) NOT NULL'), | ||
array(Schema::TYPE_DATETIME, 'datetime'), | ||
array(Schema::TYPE_DATETIME . " CHECK(value BETWEEN '2011-01-01' AND '2013-01-01')", "datetime CHECK(value BETWEEN '2011-01-01' AND '2013-01-01')"), | ||
array(Schema::TYPE_DATETIME . ' NOT NULL', 'datetime NOT NULL'), | ||
array(Schema::TYPE_TIMESTAMP, 'timestamp'), | ||
array(Schema::TYPE_TIMESTAMP . " CHECK(value BETWEEN '2011-01-01' AND '2013-01-01')", "timestamp CHECK(value BETWEEN '2011-01-01' AND '2013-01-01')"), | ||
array(Schema::TYPE_TIMESTAMP . ' NOT NULL', 'timestamp NOT NULL'), | ||
array(Schema::TYPE_TIME, 'time'), | ||
array(Schema::TYPE_TIME . " CHECK(value BETWEEN '12:00:00' AND '13:01:01')", "time CHECK(value BETWEEN '12:00:00' AND '13:01:01')"), | ||
array(Schema::TYPE_TIME . ' NOT NULL', 'time NOT NULL'), | ||
array(Schema::TYPE_DATE, 'date'), | ||
array(Schema::TYPE_DATE . " CHECK(value BETWEEN '2011-01-01' AND '2013-01-01')", "date CHECK(value BETWEEN '2011-01-01' AND '2013-01-01')"), | ||
array(Schema::TYPE_DATE . ' NOT NULL', 'date NOT NULL'), | ||
array(Schema::TYPE_BINARY, 'blob'), | ||
array(Schema::TYPE_BOOLEAN, 'bit(1)'), | ||
array(Schema::TYPE_BOOLEAN . ' NOT NULL DEFAULT 1', 'bit(1) NOT NULL DEFAULT 1'), | ||
array(Schema::TYPE_MONEY, 'decimal(19,4)'), | ||
array(Schema::TYPE_MONEY . '(16,2)', 'decimal(16,2)'), | ||
array(Schema::TYPE_MONEY . ' CHECK (value > 0.0)', 'decimal(19,4) CHECK (value > 0.0)'), | ||
array(Schema::TYPE_MONEY . '(16,2) CHECK (value > 0.0)', 'decimal(16,2) CHECK (value > 0.0)'), | ||
array(Schema::TYPE_MONEY . ' NOT NULL', 'decimal(19,4) NOT NULL'), | ||
); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?php | ||
namespace yiiunit\framework\db\cubrid; | ||
|
||
use yiiunit\framework\db\QueryTest; | ||
|
||
class CubridQueryTest extends QueryTest | ||
{ | ||
protected function setUp() | ||
{ | ||
$this->driverName = 'cubrid'; | ||
parent::setUp(); | ||
} | ||
} |