Crudly
Crudly is a command line tool for generating a fully featured CRUD mechanism supporting both API and web base CRUD using a single console-based wizard.
All you have to do is run php artisan crudly:model
, go through the wizard, and voilĂ , you're set.
Here's how you can run it:
shomisha@shomisha crudly % php artisan crudly:model
Enter the name of your model:
> Post
Define model properties:
Enter property name:
> id
Choose property type:
[0 ] boolean
[1 ] string
[2 ] email
[3 ] text
[4 ] integer
[5 ] big integer
[6 ] tiny integer
[7 ] float
[8 ] date
[9 ] datetime
[10] timestamp
[11] json
> big integer
Should this field be unsigned? (yes/no) [yes]:
>
Should this field be auto-increment? (yes/no) [yes]:
>
Should this field be unique? (yes/no) [no]:
>
Should this field be nullable? (yes/no) [no]:
>
Should this field be the primary key? (yes/no) [yes]:
>
Should this field be a foreign key? (yes/no) [no]:
>
Do you want to add a model property? (yes/no) [yes]:
>
Enter property name:
> title
Choose property type:
[0 ] boolean
[1 ] string
[2 ] email
[3 ] text
[4 ] integer
[5 ] big integer
[6 ] tiny integer
[7 ] float
[8 ] date
[9 ] datetime
[10] timestamp
[11] json
> string
Should this field be unique? (yes/no) [no]:
>
Should this field be nullable? (yes/no) [no]:
>
Should this field be a foreign key? (yes/no) [no]:
>
Do you want to add a model property? (yes/no) [yes]:
>
Enter property name:
> body
Choose property type:
[0 ] boolean
[1 ] string
[2 ] email
[3 ] text
[4 ] integer
[5 ] big integer
[6 ] tiny integer
[7 ] float
[8 ] date
[9 ] datetime
[10] timestamp
[11] json
> text
Should this field be unique? (yes/no) [no]:
>
Should this field be nullable? (yes/no) [no]:
>
Should this field be a foreign key? (yes/no) [no]:
>
Do you want to add a model property? (yes/no) [yes]:
>
Enter property name:
> published_at
Choose property type:
[0 ] boolean
[1 ] string
[2 ] email
[3 ] text
[4 ] integer
[5 ] big integer
[6 ] tiny integer
[7 ] float
[8 ] date
[9 ] datetime
[10] timestamp
[11] json
> datetime
Should this field be unique? (yes/no) [no]:
>
Should this field be nullable? (yes/no) [no]:
>
Do you want to add a model property? (yes/no) [yes]:
> no
Do you want soft deletion for this model? (yes/no) [no]:
> yes
No 'deleted_at' column found. Please choose column for soft deletion:
[0] published_at
[1] Create new column
> 1
Enter column name:
> archived_at
Do you want timestamps for this model? (yes/no) [no]:
>
Should this model have web pages for CRUD actions? (yes/no) [yes]:
>
Should web CRUD actions be authorized? (yes/no) [yes]:
>
Do you want web CRUD tests? (yes/no) [yes]:
>
Should this model have API endpoints for CRUD actions? (yes/no) [yes]:
>
Should API CRUD endpoints be authorized? (yes/no) [yes]:
>
Do you want API CRUD tests? (yes/no) [yes]:
>
shomisha@shomisha crudly %
Head on to the Post Examples folder to check out the CRUD structure this wizard would generate.
Make sure to check out the Wiki pages where you can find out what Crudly does and does not do, and also learn how to use it to speed up your development process.