Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cable8mm/xeed
The Xeed is to generate new model, seed, database seed, factory and migration files for Laravel based on data from the existing database table.
https://github.com/cable8mm/xeed
factories generator laravel laravel-package migration models seeds
Last synced: about 2 hours ago
JSON representation
The Xeed is to generate new model, seed, database seed, factory and migration files for Laravel based on data from the existing database table.
- Host: GitHub
- URL: https://github.com/cable8mm/xeed
- Owner: cable8mm
- License: mit
- Created: 2024-03-13T05:18:01.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-04-13T08:11:28.000Z (7 months ago)
- Last Synced: 2024-04-14T12:01:44.425Z (7 months ago)
- Topics: factories, generator, laravel, laravel-package, migration, models, seeds
- Language: PHP
- Homepage: https://www.palgle.com/xeed/
- Size: 568 KB
- Stars: 82
- Watchers: 1
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.ko.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Xeed - 라라벨 리소스 제네레이터
[English 👈](README.md)
[![code-style](https://github.com/cable8mm/xeed/actions/workflows/code-style.yml/badge.svg)](https://github.com/cable8mm/xeed/actions/workflows/code-style.yml)
[![run-tests](https://github.com/cable8mm/xeed/actions/workflows/run-tests.yml/badge.svg)](https://github.com/cable8mm/xeed/actions/workflows/run-tests.yml)
[![Packagist Version](https://img.shields.io/packagist/v/cable8mm/xeed)](https://packagist.org/packages/cable8mm/xeed)
[![Packagist Downloads](https://img.shields.io/packagist/dt/cable8mm/xeed)](https://packagist.org/packages/cable8mm/xeed/stats)
[![Packagist Dependency Version](https://img.shields.io/packagist/dependency-v/cable8mm/xeed/php)](https://packagist.org/packages/cable8mm/xeed)
![Packagist Dependency Version](https://img.shields.io/packagist/dependency-v/cable8mm/xeed/symfony%2Fconsole)
[![Packagist Stars](https://img.shields.io/packagist/stars/cable8mm/xeed)](https://github.com/cable8mm/xeed/stargazers)
[![Packagist License](https://img.shields.io/packagist/l/cable8mm/xeed)](https://github.com/cable8mm/xeed/blob/main/LICENSE.md)Xeed는 기존 데이터베이스 테이블에서 가져온 데이터를 기반으로 Laravel용 새로운 모델, 시드, 데이터베이스 시드, 팩토리 및 마이그레이션 파일을 생성하는 데 사용됩니다.
> [!TIP]
> 이 프로그램은 `php artisan xeed:*` 라라벨 명령어와 `bin/console *` 독립 명령어로 모두 작동할 수 있으며, 100% 동일한 기능을 제공합니다. 따라서 여러분은 여러분의 Laravel 프로젝트 내에서 사용하거나 독립적인 애플리케이션으로 사용할 수 있습니다.웹 상에서 API 문서를 제공합니다. 자세한 내용은 https://www.palgle.com/xeed/ 에서 확인하십시오. ❤️
### 기능
- [x] 데이터베이스 테스트 지원
- [x] Laravel을 위한 모델 생성
- [x] Laravel을 위한 시드 파일 생성
- [x] Laravel을 위한 데이터베이스 시드 파일 생성
- [x] Laravel을 위한 팩토리 생성
- [x] Laravel을 위한 마이그레이션 생성
- [x] Laravel 다중 및 예약된 열 지원
- [x] Laravel 통합
- [x] MySQL, SQLite 그리고 PostgreSQL 지원### 지원 및 테스트
![MySQL 지원](https://img.shields.io/badge/MySQL-4479A1?logo=mysql&logoColor=white)
![SQLite 지원](https://img.shields.io/badge/SQLite-07405e?logo=sqlite&logoColor=white)
![PostgreSQL 지원](https://img.shields.io/badge/PostgreSQL-Beta-316192?&logo=postgresql&logoColor=white)
![PHP 8.0.2+ 지원](https://img.shields.io/badge/PHP-8.0.2%2B-777BB4?logo=php&logoColor=white)
![PHP 8.1.0+ 지원](https://img.shields.io/badge/PHP-8.1.0%2B-777BB4?logo=php&logoColor=white)
![PHP 8.2.0+ 지원](https://img.shields.io/badge/PHP-8.2.0%2B-777BB4?logo=php&logoColor=white)
![PHP 8.3.0+ 지원](https://img.shields.io/badge/PHP-8.3.0%2B-777BB4?logo=php&logoColor=white)> [!CAUTION]
> PostgreSQL은 Beta 지원이며, 문제가 발생할 경우 깃헙 이슈를 통해서 리포팅 해 주세요.### 미리보기
Laravel:
![Preview](https://github.com/cable8mm/cabinet/blob/main/xeed-laravel-preview.gif?raw=true)
Standalone:
![Preview](https://github.com/cable8mm/cabinet/blob/main/xeed-preview.gif?raw=true)
## 설치
```shell tab=Laravel
composer require cable8mm/xeed --dev
# For Laravel
``````shell tab=Standalone
composer create-project cable8mm/xeed
# For Standalone
```> [!IMPORTANT]
> 그리고 `.env` 파일을 편집하여 연결해야 하는 데이터베이스를 구성하십시오. 필요할 때마다 수동으로 `.env.example`을 `.env`로 복사할 수 있습니다.## 사용법
### `모델` 생성
```shell tab=Laravel
php artisan xeed:models
# `app/Models` 폴더에 모든 모델 생성
``````shell tab=Standalone
bin/console models
# `dist/app/Models` 폴더에 모든 모델 생성
```### `시드` 생성
```shell tab=Laravel
php artisan xeed:seeders
# `database/seeders` 폴더에 모든 시드 생성
``````shell tab=Standalone
bin/console seeders
# `dist/database/seeders` 폴더에 모든 시드 생성
```### `DatabaseSeeder` 생성
```shell tab=Laravel
php artisan xeed:database
# `database/seeders` 폴더에 데이터베이스 시드 생성
``````shell tab=Standalone
bin/console database
# `dist/database/seeders` 폴더에 데이터베이스 시드 생성
```### `팩토리` 생성
```shell tab=Laravel
php artisan xeed:factories
# `database/factories' 폴더에 모든 팩토리 생성
``````shell tab=Standalone
bin/console factories
# `dist/database/factories' 폴더에 모든 팩토리 생성
```### `마이그레이션` 생성
```shell tab=Laravel
php artisan xeed:migrations
# `database/migrations' 폴더에 모든 마이그레이션 파일 생성
``````shell tab=Standalone
bin/console migrations
# `dist/database/migrations' 폴더에 모든 마이그레이션 파일 생성
```생성된 파일은 라라벨 프로젝트와 동일한 폴더에 저장됩니다. `dist` 폴더를 확인하세요.
## 기여 방법
### 개발
Xeed에는 내장된 SQLite 데이터베이스가 있어 직접 데이터베이스가 필요하지 않고 쉽게 기여할 수 있습니다. 테스트 목적으로 새 파일을 만들고 활용하면 됩니다.
```sh
touch database/database.sqlite
# SQLite 데이터베이스를 위한 새 파일 생성
```그리고,
```sh
composer test
# 테스트 실행
```### 데이터베이스
마이그레이션 및 팩토리의 경우 모든 데이터베이스 필드 유형에 대한 테스트를 실행해야 할 때 다음 명령을 사용하십시오.
```sh
bin/console xeed
# 'xeeds' 테이블을 데이터베이스에 가져오기bin/console xeed drop
# 데이터베이스에서 'xeeds' 테이블 삭제
```생성된 파일을 확인하려면 다음 위치를 참조하십시오. `resources/tests` 이 폴더에 파일이 저장됩니다.
### 유용한 명령
이 패키지를 직접 테스트할 것이라면 다음 명령을 사용하여 생성된 파일을 정리합니다.
```shell tab=Laravel
php artisan xeed:clean
# 생성된 파일, 시드, 모델, 팩토리 및 마이그레이션 파일 정리
#=> 아래 참조
Please select directory for you to want to clean.
[0] seeder
[1] model
[2] factory
[3] migration
[4] all
[5] exit
``````shell tab=Standalone
bin/console clean
# 생성된 파일, 시드, 모델, 팩토리 및 마이그레이션 파일 정리
#=> 아래 참조
Please select directory for you to want to clean.
[0] seeder
[1] model
[2] factory
[3] migration
[4] all
[5] exit
```### 버그 보고 및 풀 리퀘스트 제출
버그 보고서 및 풀 리퀘스트를 작성하는 기회는 저를 기쁘게 합니다. 필요할 때마다 기여하고 풀 리퀘스트를 제출하십시오.
## 포맷팅
```bash
composer lint
# 모든 파일을 PSR-12에 따르도록 수정합니다.composer inspect
# 모든 파일을 PSR-12을 준수하는지 확인합니다.
```## 테스트
사용된 내장 SQLite 데이터베이스는 사용자의 데이터베이스가 아니라는 점을 명심하십시오. 데이터에 손상을 줄 염려가 없습니다.
```shell tab=Laravel
composer testpack
# 라라벨 커맨드를 포함한 모든 테스트
``````shell tab=Standalone
composer test
# 라라벨 커맨드를 제외한 모든 테스트
```### 변경 내역
최근 변경된 내용에 대한 자세한 정보는 [CHANGELOG](CHANGELOG.md)를 참조해주세요.
## 기여
더 자세한 내용은 [CONTRIBUTING](CONTRIBUTING.md)를 참조해주세요.
아래 내용은 기여하는 데 도움이 될 수 있습니다.
Xeed에는 내장된 SQLite 데이터베이스가 있어 별도의 데이터베이스가 필요하지 않고도 쉽게 기여할 수 있습니다. 테스트 목적으로 새 파일을 만들고 활용하기만 하면 됩니다.
```shell
touch database/database.sqlite
# SQLite 데이터베이스를 위한 새로운 빈 파일을 만드세요
```그 후,
```shell
composer test
# 테스트 샐행
```### 데이터베이스 시드
마이그레이션과 팩토리를 사용할 때, 모든 데이터베이스 필드 유형에 대한 테스트를 실행해야 할 때는 다음 명령어를 사용하세요.
```shell tab=Laravel
php artisan xeed
# 데이터베이스에 'xeeds' 테이블 임포트php artisan xeed drop
# 데이터베이스에 'xeeds' 테이블 삭제
``````shell tab=Standalone
bin/console xeed
# 데이터베이스에 'xeeds' 테이블 임포트bin/console xeed drop
# 데이터베이스에 'xeeds' 테이블 삭제
```모든 데이터베이스 필드 유형에 대해 마이그레이션 파일을 활용하려면 다음 위치를 참조하세요: `database/*.sql`. 이러한 파일들은 지정된 폴더에 저장됩니다.
## 크레디트
- [Samgu Lee](https://github.com/cable8mm)
## 라이센스
Xeed 프로젝트는 [MIT 라이센스](LICENSE.md)에 따라 오픈 소스 소프트웨어로 라이센스가 부여됩니다.