@phdthesis{digilib78732, month = {August}, title = {RANCANG BANGUN TOOLS COMMAND LINE INTERFACE UNTUK OTOMATISASI FACTORY DAN SEEDER BERDASARKAN MIGRATION PADA FRAMEWORK LARAVEL}, school = {UIN SUNAN KALIJAGA YOGYAKARTA}, author = {NIM.: 22106050051 Muhammad Azwar Firmansyah}, year = {2026}, note = {Muhammad Didik Rohmad Wahyudi, S.T., MT.}, keywords = {Laravel, Command Line Interface, Migration, Factory dan Seeder, Abstract Syntax Tree}, url = {https://digilib.uin-suka.ac.id/id/eprint/78732/}, abstract = {Laravel application development often faces differences between the database structure produced by Migrations and the availability of test data in a newly created development or testing environment. Migrations build the schema, whereas Factories and Seeders still have to be written by manually translating column types, constraints, and relationships. This study aims to design and build Laraseed, a Laravel Command Line Interface (CLI) package that automates the generation of Factories and Seeders from Migration files. The system was developed using Rapid Application Development (RAD). Laraseed applies Software Reverse Engineering through Abstract Syntax Tree (AST) analysis to extract metadata from Schema::create declarations and sends the metadata in batches to the Gemini API to generate Factory and Seeder code. The package provides the php artisan make:laraseed command, table selection, record count, artifact type selection, existing-file protection, the --force option, and DatabaseSeeder updates according to foreign-key dependencies. Black-Box Testing showed that all twelve scenarios, BB-01 through BB-12, passed on Laravel 12.41.1 and SQLite. Artifact and integration validation demonstrated that the Factories and Seeders for barangs, stock\_ins, and stock\_outs conformed to the extracted metadata and could be executed after the HasFactory prerequisite was fulfilled. However, column changes defined through Schema::table have not yet been merged, causing UserSeeder to remain inconsistent. Laraseed can reduce repetitive work in test-data preparation, but the generated output must still be checked against the final database structure.} }