laravel-schema maintained by gabrielrcosta1
Description
Laravel package to generate migrations from a schema.db definition file.
Author
Last update
2025/06/10 21:45
(dev-main)
License
Downloads
5
Laravel Schema (Development Preview)
🧪 This package is currently under development. Features, APIs and behavior may change at any time.
Generate Laravel migration files based on a simple DSL (domain-specific language) written in a single file: schema.db.
📦 Installation
Then run:
composer require gabrielrcosta1/laravel-schema
📁 What It Does
- Adds Artisan commands:
schema:createschema:migrateschema:reset
- Lets you define your database tables in a single DSL file
- Generates Laravel-compatible migration files into
database/migrations - Tracks schema changes and generates only incremental migrations
- Supports full or table-specific reset
- Lets you run
php artisan migrateas usual
🚀 Usage
1. Generate the schema file
php artisan schema:create
This will create the file:
/your-laravel-project/database/schema.db
With default content for:
posts
2. Define your schema (example)
Edit database/schema.db like this:
table posts {
id primary
title string
body text
published_at timestamp nullable
user_id foreign:users.id
timestamps
softDeletes
}
3. Generate migration files
php artisan schema:migrate
This will:
- Parse
schema.db - Compare with previous schema
- Generate new migrations:
- full table migrations
- incremental
add_/remove_migrations
4. Apply the migrations
php artisan migrate
5. Reset generated migrations
If you want to delete generated migrations and schema cache:
Reset everything:
php artisan schema:reset --all
Reset only one table:
php artisan schema:reset
# You will be prompted for the table name
This deletes:
- The migration files related to the selected table(s)
- The schema cache files (.json and .hash)
✅ Commands Summary
| Command | Description |
|---|---|
schema:create |
Create schema.db with default tables |
schema:migrate |
Generate migrations from schema (full or incremental) |
schema:reset |
Delete generated migrations and cache (--all or specific) |
php artisan migrate |
Apply the generated migrations |
⚠️ Status
This package is in development.
Use at your own risk in production environments.
Contributions, ideas, and issues are welcome.
📄 License
MIT — © Gabriel R. Costa