WhiteSheet
A Laravel package to get many kinds of DB information through command line.
(This package is maintained under L5.4), (*1)
[Commands]:, (*2)
-
db:code
: Generate code
-
db:find
: Find column or table
-
db:fields
: Show fields
-
db:count
: Show rows
-
db:tail
: Show the newest tables or rows
Installation
Execute the next command., (*3)
composer require sukohi/white-sheet:1.*
Set the service providers in app.php, (*4)
'providers' => [
...Others...,
Sukohi\WhiteSheet\WhiteSheetServiceProvider::class,
]
Now you have this package's commands in php artisan
commands., (*5)
Usage
1. Generate code
Basic, (*6)
You need to set two arguments to run this package like so., (*7)
php artisan db:code (Model) (SHOWING_TYPE)
(e.g.), (*8)
php artisan db:code User array
- In this case, User means
App\User
.
or, (*9)
php artisan db:code App\\User array
GENERATING_TYPEs, (*10)
- array
- rule
- getter
- setter
- request
- js
- seed
- html
- accessor
- mutator
array, (*11)
php artisan db:code User array
(output), (*12)
$array = [
'id' => 'id',
'name' => 'name',
'email' => 'email',
'password' => 'password',
'remember_token' => 'remember_token',
'created_at' => 'created_at',
'updated_at' => 'updated_at',
];
rule, (*13)
php artisan db:code User rule
(output), (*14)
return [
'id' => 'required',
'name' => 'required',
'email' => 'required',
'password' => 'required',
'remember_token' => 'required',
'created_at' => 'required',
'updated_at' => 'required',
];
getter, (*15)
php artisan db:code User getter
(output), (*16)
$id = $user->id;
$name = $user->name;
$email = $user->email;
$password = $user->password;
$remember_token = $user->remember_token;
$created_at = $user->created_at;
$updated_at = $user->updated_at;
$created_on = $user->created_on;
Note: Output code is including accessors., (*17)
setter, (*18)
php artisan db:code User setter
(output), (*19)
// Variable
$user = new \App\User();
$user->id = $id;
$user->name = $name;
$user->email = $email;
$user->password = $password;
$user->remember_token = $remember_token;
$user->created_at = $created_at;
$user->updated_at = $updated_at;
$user->created_on = $created_on;
$user->save();
// Request
$user = new \App\User();
$user->id = $request->id;
$user->name = $request->name;
$user->email = $request->email;
$user->password = $request->password;
$user->remember_token = $request->remember_token;
$user->created_at = $request->created_at;
$user->updated_at = $request->updated_at;
$user->created_on = $request->created_on;
$user->save();
Note: Output code is including mutators., (*20)
request, (*21)
php artisan db:code User request
(output), (*22)
$id = $request->id;
$name = $request->name;
$email = $request->email;
$password = $request->password;
$remember_token = $request->remember_token;
$created_at = $request->created_at;
$updated_at = $request->updated_at;
js, (*23)
php artisan db:code User js
(output), (*24)
// Basic
var id = user.id;
var name = user.name;
var email = user.email;
var password = user.password;
var providerName = user.providerName;
var providerId = user.providerId;
var rememberToken = user.rememberToken;
var createdAt = user.createdAt;
var updatedAt = user.updatedAt;
// Vue
this.id = user.id;
this.name = user.name;
this.email = user.email;
this.password = user.password;
this.providerName = user.providerName;
this.providerId = user.providerId;
this.rememberToken = user.rememberToken;
this.createdAt = user.createdAt;
this.updatedAt = user.updatedAt;
seed, (*25)
php artisan db:code User seed
(output), (*26)
$user = new \App\User();
$user->name = $request->name;
$user->email = $request->email;
$user->password = $request->password;
$user->remember_token = $request->remember_token;
$user->created_on = $request->created_on;
$user->save();
html, (*27)
php artisan db:code User html
(output), (*28)
<!-- Empty -->
<input type="text" name="id" value="">
<input type="text" name="name" value="">
<input type="text" name="email" value="">
<input type="text" name="password" value="">
<input type="text" name="remember_token" value="">
<input type="text" name="created_at" value="">
<input type="text" name="updated_at" value="">
<!-- with Values -->
<input type="text" name="id" value="{{ $user->id }}">
<input type="text" name="name" value="{{ $user->name }}">
<input type="text" name="email" value="{{ $user->email }}">
<input type="text" name="password" value="{{ $user->password }}">
<input type="text" name="remember_token" value="{{ $user->remember_token }}">
<input type="text" name="created_at" value="{{ $user->created_at }}">
<input type="text" name="updated_at" value="{{ $user->updated_at }}">
<!-- Vue -->
<input type="text" name="id" v-model="id">
<input type="text" name="name" v-model="name">
<input type="text" name="email" v-model="email">
<input type="text" name="password" v-model="password">
<input type="text" name="remember_token" v-model="rememberToken">
<input type="text" name="created_at" v-model="createdAt">
<input type="text" name="updated_at" v-model="updatedAt">
Accessor, (*29)
php artisan db:code User accessor
(Output), (*30)
public function getIdAttribute($value) {
return $value;
}
public function getNameAttribute($value) {
return $value;
}
public function getEmailAttribute($value) {
return $value;
}
public function getPasswordAttribute($value) {
return $value;
}
public function getProviderNameAttribute($value) {
return $value;
}
public function getProviderIdAttribute($value) {
return $value;
}
public function getRememberTokenAttribute($value) {
return $value;
}
public function getCreatedAtAttribute($value) {
return $value;
}
public function getUpdatedAtAttribute($value) {
return $value;
}
Mutator, (*31)
php artisan db:code User mutator
(Output), (*32)
public function setIdAttribute($value) {
$this->attributes['id'] = $value;
}
public function setNameAttribute($value) {
$this->attributes['name'] = $value;
}
public function setEmailAttribute($value) {
$this->attributes['email'] = $value;
}
public function setPasswordAttribute($value) {
$this->attributes['password'] = $value;
}
public function setProviderNameAttribute($value) {
$this->attributes['provider_name'] = $value;
}
public function setProviderIdAttribute($value) {
$this->attributes['provider_id'] = $value;
}
public function setRememberTokenAttribute($value) {
$this->attributes['remember_token'] = $value;
}
public function setCreatedAtAttribute($value) {
$this->attributes['created_at'] = $value;
}
public function setUpdatedAtAttribute($value) {
$this->attributes['updated_at'] = $value;
}
2. Find column or table
php artisan db:find SEARCH_KEYWORD
e.g.), (*33)
php artisan db:find user
/* Output
[ authors ]:
- created_user_id
- updated_user_id
[ users ]:
*/
3. Show fields
php artisan db:fields TABLE_NAME
e.g.), (*34)
php artisan db:fields users
/* Output
[ users ]:
- id
- name
- email
- password
- provider_name
- provider_id
- remember_token
- created_at
- updated_at
*/
4. Show rows
php artisan db:count TABLE_NAME
e.g.), (*35)
php artisan db:count items
/* Output
[ items ]: 12345 rows
*/
4. Show the newest tables or rows
(for Tables), (*36)
php artisan db:tail
/* Output
2017-07-01 15:11:59 : [ users ]
2017-07-09 18:20:59 : [ users ]
2017-07-09 18:30:00 : [ movies ]
2017-07-09 18:31:00 : [ songs ]
2017-07-09 18:34:00 : [ songs ]
*/
(for Rows), (*37)
php artisan db:tail TABLE_NAME
/* Output
[ songs ]:
- 2017-07-01 15:11:59 (ID: 208)
- 2017-07-01 15:11:59 (ID: 202)
- 2017-07-01 15:11:59 (ID: 203)
- 2017-07-09 18:31:00 (ID: 204)
- 2017-07-09 18:34:00 (ID: 205)
*/
[options]:, (*38)
- --limit, -l : How many lines do you want to show? Default is 5.
License
This package is licensed under the MIT License.
Copyright 2017 Sukohi Kuhoh, (*39)