- 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(),
]);
```
bit has special syntax for storing and retreiving so we'd need a
converter for that.
Storing 1 bit will result in one byte left padded on the disc so the
result of a query for boolean 0 will be 0x00 and for boolean 1 will be
0x80.
- Added drop/add primary key methods to QueryBuilder.php
- Added mysql specific dropPrimarykey method
- Added sqlite specific dropPrimarykey and addPrimaryKey methods
- Added uint testing for dropPrimarykey and addPrimaryKey methods
- Corrected postgresql column types, by adding length and precision