57 Commits

Author SHA1 Message Date
e4f5b91f74 Fixed #6351 MySQL 5.1 compatibility 2015-11-20 02:26:15 +03:00
d40435e931 Enhanced #6351 fix by reintroduced older (SQL CREATE) style FK detection for people still running MySQL servers where referential_constraints is not available 2015-10-27 17:44:16 +03:00
5ab4f0f090 Better quotes usage in strings
- Use single quote where interpolation isn't necessary
- Use interpolation when it's better than concatenation
2015-10-10 00:23:52 +03:00
0407407b76 fix coding style to follow PSR-2 2015-10-05 13:58:47 +06:00
eb6935e4a8 add more conditions when reading mysql information_schema to speed it up 2015-10-01 12:20:19 +02:00
191185f5e3 Fixes #6351: Find MySQL FK constraints from information_schema tables instead of SHOW CREATE TABLE to improve reliability 2015-09-29 13:47:20 +03:00
681db52ba6 refactored SchemaBuilder
- rename class to ColumnSchemaBuilder as this is more appropriate
- changed internal organisation to match how the rest of schema related classes work
  - the ColumnSchemaBuilder is now created the same way as QueryBuilder is
- removed static call magic and method annotations, now real methods are called as they are
- the whole code works on objects in a db context now instead of setting database connection in global state
- trait is now used by Migration by default but can be used in other contexts as well

Migration usage is now as follows:

```php
$this->createTable('example_table', [
  'id' => $this->primaryKey(),
  'name' => $this->string(64)->notNull(),
  'type' => $this->integer()->notNull()->defaultValue(10),
  'description' => $this->text(),
  'rule_name' => $this->string(64),
  'data' => $this->text(),
  'created_at' => $this->datetime()->notNull(),
  'updated_at' => $this->datetime(),
]);
```
2015-08-03 23:25:50 +02:00
a2568d1ec8 updated some comments and @since annotations 2015-08-02 19:56:49 +02:00
bad507c459 Fixes #9063: Workaround for MySQL losing table case when adding index 2015-07-17 08:41:39 +03:00
e0d2107e1b Mysql unique index creation fix. 2015-07-10 12:27:15 -03:00
82fbb568e0 Fix for 9056 2015-07-09 11:52:33 -03:00
3f7ffd6707 Improved SchemaBuilder docs, refactored code 2015-07-08 15:39:34 +03:00
b456f699cc Implemented SchemaBuilder 2015-07-08 15:38:21 +03:00
abe1094ac9 fixed querybuilder phpdoc 2015-06-24 14:20:02 +02:00
aa5887fec7 added missing use statement to fix #8572
- added unit tests for timestamp behavior and insert with expression
- fixed issue #8572

close #8596
2015-05-29 01:37:47 +02:00
67799ad092 fix typos 2015-04-11 16:41:33 +02:00
edf400df96 add missing space 2015-04-11 02:25:26 +02:00
6e48ed05c7 allow calling Command::insert() without any columns 2015-04-11 02:20:13 +02:00
4f49feee8d fixes #7757: in oci schema fix query results row keys case when PDO::ATTR_CASE is set to PDO::CASE_LOWER
added test to check support for setting PDO::ATTR_CASE and fetching table schemas
fixed fetching table schemas for mysql when PDO::ATTR_CASE is set
added tests for oci
fixed fetching composite fks for oci
improvements in oci schema parsing
removed autoIncrement detection fro oci and added test to verify that
implement batchInsert for oci
fix detecting IntegrityException for oci
fixed creating raw sql by skipping object and resource params
fix command test failing for sqlite
2015-03-29 21:57:13 +02:00
5870a74672 Added Schema::DOUBLE to represent ANSI SQL Double Precision 2015-02-25 16:01:37 +03:00
20774165bc Fixes #4644: Added \yii\db\Schema::createColumnSchema() to be able to customize column schema used 2014-08-12 00:01:27 +04:00
3a1e0f3a5c property codestyle framework 2014-07-30 00:21:31 +02:00
47923cccbe Fix bug in yii\db\mysql\Schema
Schema name was not used in ’SHOW CREATE TABLE’  query

Fixed bug where schema name was not used in ’SHOW CREATE TABLE’ query in `yii\db\mysql\Schema`

close #4162
2014-07-02 12:35:46 +02:00
5d0452b2ae rename ColumnSchema::typecast to phpTypecast 2014-06-27 02:12:59 +02:00
8a70d9fbd1 rename column schema typecast method 2014-06-26 00:11:04 +02:00
6a48f68955 split typecast method into two
one method for fetching data and one for sending to db.

fixes #2287
2014-06-26 00:00:37 +02:00
29cacc8a05 added mysql blob and longblob to the list
issue #613
2014-06-25 04:20:37 +02:00
651e6a3feb added support for BIT default values
fixes #422
2014-06-25 03:37:39 +02:00
4f95fcd91f added unit tests for schema detection
fixed some issues with schema detection
2014-06-25 03:09:28 +02:00
20483e25db added reference link to SQL error code
[ci skip]
2014-06-12 15:11:48 +02:00
9430ccd095 more robust check for table not exists
should work on HHVM too
2014-06-12 14:46:13 +02:00
f5dbd9a084 Fixes #3564: Fixed the bug that primary key columns should not take default values from schema 2014-05-23 10:35:20 -04:00
453ed4d93a fixed #3268 2014-04-27 17:22:07 -04:00
9b71adb4fa Fixes #3268: Fixed the bug that the schema name in a table name was not respected by yii\db\mysql\Schema 2014-04-27 12:14:30 -04:00
91965fd391 phpdoc formatting issues 2014-04-23 02:55:17 +02:00
02c3c37a00 Fixes #2986. 2014-04-05 11:55:26 -04:00
bf3c75147d reverted breaking PHPdoc codestyle changes
issue #2852
2014-03-23 20:51:09 +01:00
b5f8a4dc22 Reformat code te be PSR-2 compatible 2014-03-16 10:46:21 +06:00
8e11629a65 Fixes #2160: SphinxQL does not support OFFSET
Improved `QueryBuilder::buildLimit()` to support big numbers
2014-01-29 22:42:56 -05:00
8ecceb395f Fixes #2210: Mysql driver will now treat tinyint(1) as integer instead of boolean 2014-01-29 13:54:17 -05:00
eade9dd115 message fix. 2014-01-16 20:39:06 -05:00
9b723baa76 Added TableSchema::fullName property 2014-01-16 15:51:14 -05:00
0c38655217 psr-4 move 2014-01-10 21:41:43 -05:00
0d814fa523 Moved "framework" to "iii". 2013-05-09 12:00:15 -04:00
b3b8fadfcf minor adjustment of db exception. 2013-03-05 07:47:49 -05:00
4fdaab3560 updated file header. 2013-03-04 08:03:46 -05:00
f68bed0ccb fixed exception. 2013-03-03 10:19:22 -05:00
a39638515f Added Command::batchInsert() 2013-02-01 08:42:43 -05:00
abd3d827a2 refactoring. 2013-01-18 10:37:22 -05:00
7f6a5568b4 Cleaned up SQLite support. 2013-01-18 09:40:00 -05:00