An open API service indexing awesome lists of open source software.

https://github.com/biohazardhome/migrate

Web GUI interface for laravel migration scheme generate
https://github.com/biohazardhome/migrate

database db generator gui laravel migration schema ui

Last synced: about 1 month ago
JSON representation

Web GUI interface for laravel migration scheme generate

Awesome Lists containing this project

README

          

Визуальный конструктор миграций баз данных для Laravel


ОсобенностиТребованияУстановкаИспользованиеВклад в проектЛицензия

🚀 О проекте


Laravel Migrate Generator - это мощный инструмент с графическим интерфейсом для быстрого создания миграций баз данных в Laravel. Проект позволяет визуально проектировать структуру таблиц без написания кода и генерирует готовый PHP-код миграций.


✨ Особенности



  • 📝 Визуальное проектирование структуры таблиц

  • ⚡️ Поддержка всех типов данных Laravel

  • 🔑 Создание индексов и внешних ключей

  • 🔄 Drag & Drop интерфейс

  • 📦 Экспорт готового кода миграции


⚙️ Требования


Компонент
Версия


PHP
8.1+


Laravel
10.x+


MySQL
8.0+

🚀 Установка



  1. Установка пакета:
    composer require biohazard/migrate


  2. Настройте окружение:
    cp .env.example .env php artisan key:generate


  3. Файл настроек:
    php artisan vendor:publish --tag=config


  4. Файлы ресурсов:
    php artisan vendor:publish --tag=migrate-assets


  5. Запустите сервер:
    php artisan serve



🖥 Использование


Создание миграции




1. Основные параметры


Введите имя таблицы, выберите движок и кодировку




2. Добавление полей


Настройте параметры каждого поля: тип, длину, модификаторы




3. Создание индексов


Добавьте индексы и выберите тип




4. Внешние ключи


Настройте связи между таблицами




Пример сгенерированного кода



use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreatetestTable extends Migration
{
public function up() {
Schema::create('products', function (Blueprint $table) {
$table->id();
$table->string('name', 255);
$table->text('description');
$table->decimal('price', 8, 2);

$table->foreignId('category_id')
->constrained()
->onDelete('cascade');
$table->timestamps();

$table->index('name', 'products_name_index', 'hash');
$table->fullText('description');
});
}

public function down()
{
Schema::dropIfExists('products');
}
}


🤝 Вклад в проект


Мы приветствуем вклад в проект! Порядок действий:



  1. Форкните репозиторий

  2. Создайте ветку для своей функции

  3. Зафиксируйте изменения

  4. Отправьте изменения

  5. Создайте pull request


📜 Лицензия


Проект распространяется под лицензией MIT.