@@ 12-54 (lines=43) @@ | ||
9 | * @author Agiel K. Saputra <[email protected]> |
|
10 | * @since 0.1.0 |
|
11 | */ |
|
12 | class m000000_000008_taxonomy extends \yii\db\Migration |
|
13 | { |
|
14 | /** |
|
15 | * @inheritdoc |
|
16 | */ |
|
17 | public function up() |
|
18 | { |
|
19 | $tableOptions = null; |
|
20 | ||
21 | if ($this->db->driverName === 'mysql') { |
|
22 | $tableOptions = 'CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE=InnoDB'; |
|
23 | } |
|
24 | ||
25 | $this->createTable('{{%taxonomy}}', [ |
|
26 | 'id' => Schema::TYPE_PK, |
|
27 | 'name' => Schema::TYPE_STRING . '(200) NOT NULL', |
|
28 | 'slug' => Schema::TYPE_STRING . '(200) NOT NULL', |
|
29 | 'hierarchical' => Schema::TYPE_SMALLINT . '(1) NOT NULL DEFAULT 0', |
|
30 | 'singular_name' => Schema::TYPE_STRING . '(255) NOT NULL', |
|
31 | 'plural_name' => Schema::TYPE_STRING . '(255) NOT NULL', |
|
32 | 'menu_builder' => Schema::TYPE_SMALLINT . '(1) NOT NULL DEFAULT 0', |
|
33 | ], $tableOptions); |
|
34 | ||
35 | /** |
|
36 | * Add two taxonomies, that are category and tag |
|
37 | */ |
|
38 | $this->batchInsert( |
|
39 | '{{%taxonomy}}', |
|
40 | ['name', 'slug', 'hierarchical', 'singular_name', 'plural_name', 'menu_builder'], [ |
|
41 | ['category', 'category', '1', 'Category', 'Categories', 1], |
|
42 | ['tag', 'tag', '0', 'Tag', 'Tags', 0], |
|
43 | ] |
|
44 | ); |
|
45 | } |
|
46 | ||
47 | /** |
|
48 | * @inheritdoc |
|
49 | */ |
|
50 | public function down() |
|
51 | { |
|
52 | $this->dropTable('{{%taxonomy}}'); |
|
53 | } |
|
54 | } |
|
55 |
@@ 11-48 (lines=38) @@ | ||
8 | * @author Agiel K. Saputra <[email protected]> |
|
9 | * @since 0.1.0 |
|
10 | */ |
|
11 | class m000000_000010_term extends \yii\db\Migration |
|
12 | { |
|
13 | /** |
|
14 | * @inheritdoc |
|
15 | */ |
|
16 | public function up() |
|
17 | { |
|
18 | $tableOptions = null; |
|
19 | ||
20 | if ($this->db->driverName === 'mysql') { |
|
21 | $tableOptions = 'CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE=InnoDB'; |
|
22 | } |
|
23 | ||
24 | $this->createTable('{{%term}}', [ |
|
25 | 'id' => Schema::TYPE_PK, |
|
26 | 'taxonomy_id' => Schema::TYPE_INTEGER . '(11) NOT NULL', |
|
27 | 'name' => Schema::TYPE_STRING . '(200) NOT NULL', |
|
28 | 'slug' => Schema::TYPE_STRING . '(200) NOT NULL', |
|
29 | 'description' => Schema::TYPE_TEXT, |
|
30 | 'parent' => Schema::TYPE_INTEGER . '(11) DEFAULT 0', |
|
31 | 'count' => Schema::TYPE_INTEGER . '(11) DEFAULT 0', |
|
32 | 'FOREIGN KEY ([[taxonomy_id]]) REFERENCES {{%taxonomy}} ([[id]]) ON DELETE CASCADE ON UPDATE CASCADE', |
|
33 | ], $tableOptions); |
|
34 | ||
35 | $this->batchInsert('{{%term}}', ['taxonomy_id', 'name', 'slug', 'description', 'parent', 'count'], [ |
|
36 | ['1', 'Sample Category', 'sample-category', 'Hello there, this is example of category.', 0, '1'], |
|
37 | ['2', 'Sample Tag', 'sample-tag', 'Hello there, this is an example of tag.', 0, '1'], |
|
38 | ]); |
|
39 | } |
|
40 | ||
41 | /** |
|
42 | * @inheritdoc |
|
43 | */ |
|
44 | public function down() |
|
45 | { |
|
46 | $this->dropTable('{{%term}}'); |
|
47 | } |
|
48 | } |
|
49 |