Генерація Eloquent моделей з файлів мовлення бази даних

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 25 червня, 2025
Вас цікавить, як автоматизувати процес створення моделей та міграцій у Laravel? Пакет DBML to Laravel дозволяє генерувати Eloquent моделі безпосередньо з DBML діаграм, спрощуючи вашій команді роботу з базою даних та документообігом. Читайте далі, щоб дізнатися більше!

Пакет DBML to Laravel автоматично генерує моделі Eloquent та міграції безпосередньо з діаграм DBML, включаючи заповнювальні властивості, визначені зв'язки та інше. Файли DBML також можна візуалізувати у вигляді діаграм бази даних, що слугує документацією для полегшення знайомства розробників з моделлю даних програми.

Простий приклад DBML для постів і користувачів
Простий приклад DBML для постів і користувачів

Пакет DBML to Laravel може значно прискорити ваш робочий процес та забезпечити синхронізацію через централізований інструмент конфігурації бази даних. Наступний приклад з README пакета демонструє, як він працює на основі файлу .dbml зі згенерованими моделями:

Table users {
  id int [pk, increment]
  name varchar
  email varchar [unique]
  password varchar
  created_at datetime
  updated_at datetime
}
 
Table posts {
  id int [pk, increment]
  user_id int [ref: > users.id]
  title varchar
  content text
  created_at datetime
  updated_at datetime
}
 
Ref: posts.user_id > users.id

Використовуючи наведений вище DBML-файл і команду generate:dbml, ось приклад файлу моделі Post.php:

namespace App\Models;
 
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
 
class Post extends Model
{
    use HasFactory;
 
    protected $fillable = [
        'user_id',
        'title',
        'content',
    ];
 
    public function user(): BelongsTo
    {
        return $this->belongsTo(User::class);
    }
}

# Основні можливості пакета DBML to Laravel

Додаткову інформацію про цей пакет, повні інструкції з установки та доступ до кодів на GitHub можна знайти там. Також, щоб ознайомитися з мовою розмітки бази даних, перегляньте документацію DBML.