You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					45 lines
				
				1.5 KiB
			
		
		
			
		
	
	
					45 lines
				
				1.5 KiB
			| 
											8 years ago
										 | <?php
 | ||
|  | 
 | ||
|  | use yii\db\Migration;
 | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * Handles the creation of table `posts`.
 | ||
|  |  */
 | ||
|  | class m180110_121552_create_posts_table extends Migration
 | ||
|  | {
 | ||
|  | 	public function up()
 | ||
|  | 	{
 | ||
|  | 		$tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB';
 | ||
|  | 
 | ||
|  | 		$this->createTable('{{%posts}}', [
 | ||
|  | 			'id' => $this->primaryKey(),
 | ||
|  | 			'category_id' => $this->integer()->notNull(),
 | ||
|  | 			'published_at' => $this->integer()->unsigned()->notNull(),
 | ||
|  | 			'created_at' => $this->integer()->unsigned()->notNull(),
 | ||
|  | 			'updated_at' => $this->integer()->unsigned()->notNull(),
 | ||
|  | 			'title' => $this->string()->notNull(),
 | ||
|  | 			'description' => $this->text(),
 | ||
|  | 			'content' => 'MEDIUMTEXT',
 | ||
|  | 			'image' => $this->string(),
 | ||
|  | 			'video' => $this->string(),
 | ||
|  | 			'status' => $this->integer()->notNull(),
 | ||
|  | 			'meta_json' => 'TEXT NOT NULL',
 | ||
|  | 			'comments_count' => $this->integer()->notNull()->defaultValue(0),
 | ||
|  | 			'type_id' => $this->integer()->notNull(),
 | ||
|  | 			'views' => $this->integer()->notNull()->defaultValue(0),
 | ||
|  | 			'slug' => $this->string()->notNull(),
 | ||
|  | 		], $tableOptions);
 | ||
|  | 
 | ||
|  | 		$this->createIndex('{{%idx-posts-category_id}}', '{{%posts}}', 'category_id');
 | ||
|  | 		$this->createIndex('{{%idx-posts-type_id}}', '{{%posts}}', 'type_id');
 | ||
|  | 		$this->createIndex('{{%idx-posts-slug}}', '{{%posts}}', 'slug', true);
 | ||
|  | 		$this->addForeignKey('{{%fk-posts-category_id}}', '{{%posts}}', 'category_id', '{{%post_categories}}', 'id');
 | ||
|  | 		$this->addForeignKey('{{%fk-posts-type_id_id}}', '{{%posts}}', 'type_id', '{{%post_types}}', 'id');
 | ||
|  | 	}
 | ||
|  | 
 | ||
|  | 	public function down()
 | ||
|  | 	{
 | ||
|  | 		$this->dropTable('{{%posts}}');
 | ||
|  | 	}
 | ||
|  | }
 |