Skip to content

Commit

Permalink
Setup Package
Browse files Browse the repository at this point in the history
  • Loading branch information
nasrulhazim committed Jul 18, 2023
1 parent f1a94de commit 25bc3e1
Show file tree
Hide file tree
Showing 25 changed files with 285 additions and 462 deletions.
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Ask a question
url: https://github.com/:vendor_name/:package_name/discussions/new?category=q-a
url: https://github.com/cleaniquecoders/data-migration/discussions/new?category=q-a
about: Ask the community for help
- name: Request a feature
url: https://github.com/:vendor_name/:package_name/discussions/new?category=ideas
url: https://github.com/cleaniquecoders/data-migration/discussions/new?category=ideas
about: Share ideas for new features
- name: Report a security issue
url: https://github.com/:vendor_name/:package_name/security/policy
url: https://github.com/cleaniquecoders/data-migration/security/policy
about: Learn how to notify us for sensitive bugs
12 changes: 0 additions & 12 deletions .github/dependabot.yml

This file was deleted.

32 changes: 0 additions & 32 deletions .github/workflows/dependabot-auto-merge.yml

This file was deleted.

26 changes: 0 additions & 26 deletions .github/workflows/phpstan.yml

This file was deleted.

2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Changelog

All notable changes to `:package_name` will be documented in this file.
All notable changes to `data-migration` will be documented in this file.
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) :vendor_name <author@domain.com>
Copyright (c) cleaniquecoders <nasrulhazim.m@gmail.com>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
39 changes: 15 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,15 @@
# :package_description

[![Latest Version on Packagist](https://img.shields.io/packagist/v/:vendor_slug/:package_slug.svg?style=flat-square)](https://packagist.org/packages/:vendor_slug/:package_slug)
[![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/:vendor_slug/:package_slug/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/:vendor_slug/:package_slug/actions?query=workflow%3Arun-tests+branch%3Amain)
[![GitHub Code Style Action Status](https://img.shields.io/github/actions/workflow/status/:vendor_slug/:package_slug/fix-php-code-style-issues.yml?branch=main&label=code%20style&style=flat-square)](https://github.com/:vendor_slug/:package_slug/actions?query=workflow%3A"Fix+PHP+code+style+issues"+branch%3Amain)
[![Total Downloads](https://img.shields.io/packagist/dt/:vendor_slug/:package_slug.svg?style=flat-square)](https://packagist.org/packages/:vendor_slug/:package_slug)
<!--delete-->
---
This repo can be used to scaffold a Laravel package. Follow these steps to get started:

1. Press the "Use this template" button at the top of this repo to create a new repo with the contents of this skeleton.
2. Run "php ./configure.php" to run a script that will replace all placeholders throughout all the files.
3. Have fun creating your package.
4. If you need help creating a package, consider picking up our <a href="https://laravelpackage.training">Laravel Package Training</a> video course.
---
<!--/delete-->
# This package allows data migration from one source to another

[![Latest Version on Packagist](https://img.shields.io/packagist/v/cleaniquecoders/data-migration.svg?style=flat-square)](https://packagist.org/packages/cleaniquecoders/data-migration)
[![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/cleaniquecoders/data-migration/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/cleaniquecoders/data-migration/actions?query=workflow%3Arun-tests+branch%3Amain)
[![GitHub Code Style Action Status](https://img.shields.io/github/actions/workflow/status/cleaniquecoders/data-migration/fix-php-code-style-issues.yml?branch=main&label=code%20style&style=flat-square)](https://github.com/cleaniquecoders/data-migration/actions?query=workflow%3A"Fix+PHP+code+style+issues"+branch%3Amain)
[![Total Downloads](https://img.shields.io/packagist/dt/cleaniquecoders/data-migration.svg?style=flat-square)](https://packagist.org/packages/cleaniquecoders/data-migration)

This is where your description should go. Limit it to a paragraph or two. Consider adding a small example.

## Support us

[<img src="https://github-ads.s3.eu-central-1.amazonaws.com/:package_name.jpg?t=1" width="419px" />](https://spatie.be/github-ad-click/:package_name)
[<img src="https://github-ads.s3.eu-central-1.amazonaws.com/data-migration.jpg?t=1" width="419px" />](https://spatie.be/github-ad-click/data-migration)

We invest a lot of resources into creating [best in class open source packages](https://spatie.be/open-source). You can support us by [buying one of our paid products](https://spatie.be/open-source/support-us).

Expand All @@ -29,20 +20,20 @@ We highly appreciate you sending us a postcard from your hometown, mentioning wh
You can install the package via composer:

```bash
composer require :vendor_slug/:package_slug
composer require cleaniquecoders/data-migration
```

You can publish and run the migrations with:

```bash
php artisan vendor:publish --tag=":package_slug-migrations"
php artisan vendor:publish --tag="data-migration-migrations"
php artisan migrate
```

You can publish the config file with:

```bash
php artisan vendor:publish --tag=":package_slug-config"
php artisan vendor:publish --tag="data-migration-config"
```

This is the contents of the published config file:
Expand All @@ -55,14 +46,14 @@ return [
Optionally, you can publish the views using

```bash
php artisan vendor:publish --tag=":package_slug-views"
php artisan vendor:publish --tag="data-migration-views"
```

## Usage

```php
$variable = new VendorName\Skeleton();
echo $variable->echoPhrase('Hello, VendorName!');
$dataMigration = new CleaniqueCoders\DataMigration();
echo $dataMigration->echoPhrase('Hello, CleaniqueCoders!');
```

## Testing
Expand All @@ -85,7 +76,7 @@ Please review [our security policy](../../security/policy) on how to report secu

## Credits

- [:author_name](https://github.com/:author_username)
- [Nasrul Hazim Bin Mohamad](https://github.com/cleaniquecoders)
- [All Contributors](../../contributors)

## License
Expand Down
33 changes: 14 additions & 19 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
{
"name": ":vendor_slug/:package_slug",
"description": ":package_description",
"name": "cleaniquecoders/data-migration",
"description": "This package allows data migration from one source to another",
"keywords": [
":vendor_name",
"cleaniquecoders",
"laravel",
":package_slug"
"data-migration"
],
"homepage": "https://github.com/:vendor_slug/:package_slug",
"homepage": "https://github.com/cleaniquecoders/data-migration",
"license": "MIT",
"authors": [
{
"name": ":author_name",
"email": "author@domain.com",
"name": "Nasrul Hazim Bin Mohamad",
"email": "nasrulhazim.m@gmail.com",
"role": "Developer"
}
],
Expand All @@ -23,25 +23,20 @@
"require-dev": {
"laravel/pint": "^1.0",
"nunomaduro/collision": "^7.9",
"nunomaduro/larastan": "^2.0.1",
"orchestra/testbench": "^8.0",
"pestphp/pest": "^2.0",
"pestphp/pest-plugin-arch": "^2.0",
"pestphp/pest-plugin-laravel": "^2.0",
"phpstan/extension-installer": "^1.1",
"phpstan/phpstan-deprecation-rules": "^1.0",
"phpstan/phpstan-phpunit": "^1.0",
"spatie/laravel-ray": "^1.26"
"pestphp/pest-plugin-laravel": "^2.0"
},
"autoload": {
"psr-4": {
"VendorName\\Skeleton\\": "src/",
"VendorName\\Skeleton\\Database\\Factories\\": "database/factories/"
"CleaniqueCoders\\DataMigration\\": "src/",
"CleaniqueCoders\\DataMigration\\Database\\Factories\\": "database/factories/"
}
},
"autoload-dev": {
"psr-4": {
"VendorName\\Skeleton\\Tests\\": "tests/"
"CleaniqueCoders\\DataMigration\\Tests\\": "tests/"
}
},
"scripts": {
Expand All @@ -61,13 +56,13 @@
"extra": {
"laravel": {
"providers": [
"VendorName\\Skeleton\\SkeletonServiceProvider"
"CleaniqueCoders\\DataMigration\\DataMigrationServiceProvider"
],
"aliases": {
"Skeleton": "VendorName\\Skeleton\\Facades\\Skeleton"
"DataMigration": "CleaniqueCoders\\DataMigration\\Facades\\DataMigration"
}
}
},
"minimum-stability": "dev",
"prefer-stable": true
}
}
63 changes: 63 additions & 0 deletions config/data-migration.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?php

return [
'enabled' => env('DATA_MIGRATION_ENABLED', false),
'options' => [
// Truncate before run the migrations. Default is true.
'truncate' => env('DATA_MIGRATE_TRUNCATE', true),

// Set to true if need to enable foreign key check. Default is false.
'fk-check' => env('DATA_MIGRATION_FK_CHECK', false),

// Run migration on destination database
'run-migration' => env('DATA_MIGRATION_RUN', false),
],
'connections' => [
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_MYSQL_HOST', '127.0.0.1'),
'port' => env('DB_MYSQL_PORT', '3306'),
'database' => env('DB_MYSQL_DATABASE', 'forge'),
'username' => env('DB_MYSQL_USERNAME', 'forge'),
'password' => env('DB_MYSQL_PASSWORD', ''),
'unix_socket' => env('DB_MYSQL_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],

'pgsql' => [
'driver' => 'pgsql',
'url' => env('DATABASE_URL'),
'host' => env('DB_PGSQL_HOST', '127.0.0.1'),
'port' => env('DB_PGSQL_PORT', '5432'),
'database' => env('DB_PGSQL_DATABASE', 'forge'),
'schema' => env('DB_PGSQL_SCHEMA', 'public'),
'username' => env('DB_PGSQL_USERNAME', 'forge'),
'password' => env('DB_PGSQL_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
'search_path' => 'public',
'sslmode' => 'prefer',
],
],
// Set your migration table mapping.
// Do priortise table based on Primary Key & Foreign Key
// usage to avoid failure during migration.
'tables' => [
// Default Laravel
'users' => 'users',
'sessions' => 'sessions',
'migrations' => 'migrations',
'notifications' => 'notifications',
'failed_jobs' => 'failed_jobs',
],
];
6 changes: 0 additions & 6 deletions config/skeleton.php

This file was deleted.

Loading

0 comments on commit 25bc3e1

Please sign in to comment.