pojokcodeid.nvim-lazy/my-snippets/codeigniter4/docs/MIGRATIONS.md
asep komarudin 1ab37bd478 update
2023-01-15 00:19:37 +07:00

245 lines
3.6 KiB
Markdown

# Alternate Snippets for Migrations
## `[ProjectRoot]/app/Database/Migrations/`
# Table of Content
- [Create Migration](#create-migration)
- [Migration Up](#migration-up)
- [Migration Down](#migration-down)
- [Create Table](#create-table)
- [Add Column](#add-column) [new]
- [BIGINT](#bigint) [new]
- [CHAR](#char) [new]
- [DATETIME](#datetime) [new]
- [INT](#int) [new]
- [VARCHAR](#varchar) [new]
- [ID](#id) [new]
- [Timestamp](#timestamp)
## Create Migration
**Command**
```bash
ci4:migration
```
**Output**
```php
<?php
namespace App\Database\Migrations;
use CodeIgniter\Database\Migration;
class AddBlog extends Migration
{
public function up()
{
//
}
public function down()
{
//
}
}
```
- ### Migration Up
**Command**
```bash
ci4:migration:up
```
**Output**
```php
public function up()
{
$this->forge->addField([
'id' => [
'type' => 'INT',
'constraint' => 11,
'unsigned' => true,
'auto_increment' => true,
],
'name' => [
'type' => 'VARCHAR',
'constraint' => 255,
],
'created_at' => [
'type' => 'DATETIME',
'null' => true,
],
'updated_at' => [
'type' => 'DATETIME',
'null' => true,
],
'deleted_at' => [
'type' => 'DATETIME',
'null' => true,
],
]);
$this->forge->addKey('id', true);
$this->forge->createTable('tableName');
}
```
- ### Migration Down
**Command**
```bash
ci4:migration:down
```
**Output**
```php
public function down()
{
$this->forge->dropTable('tableName');
}
```
## Create Table
- ### Add Column
- #### BIGINT
**Command**
```bash
ci4:migration:bigint
```
**Output**
```php
'columnName' => [
'type' => 'BIGINT',
'constraint' => '20',
'null' => true,
],
```
- #### CHAR
**Command**
```bash
ci4:migration:char
```
**Output**
```php
'columnName' => [
'type' => 'CHAR',
'constraint' => '10',
'null' => true,
],
```
- #### DATETIME
**Command**
```bash
ci4:migration:datetime
```
**Output**
```php
'columnName' => [
'type' => 'DATETIME',
'null' => true,
],
```
- #### INT
**Command**
```bash
ci4:migration:int
```
**Output**
```php
'columnName' => [
'type' => 'INT',
'constraint' => '11',
'null' => true,
],
```
- #### VARCHAR
**Command**
```bash
ci4:migration:varchar
```
**Output**
```php
'columnName' => [
'type' => 'VARCHAR',
'constraint' => '255',
'null' => true,
],
```
- ### ID
**Command :**
```bash
ci4:migration:id
```
**Output :**
```php
'id' => [
'type' => 'INT',
'constraint' => 11,
'unsigned' => true,
'auto_increment' => true,
],
```
- ### Timestamp
**Command :**
```bash
ci4:migration:timestamp
```
**Output :**
```php
'created_at' => [
'type' => 'DATETIME',
'null' => true,
],
'updated_at' => [
'type' => 'DATETIME',
'null' => true,
],
'deleted_at' => [
'type' => 'DATETIME',
'null' => true,
],
```