{"id":13541386,"url":"https://github.com/tighten/quicksand","last_synced_at":"2025-04-02T08:31:16.473Z","repository":{"id":43189906,"uuid":"62822709","full_name":"tighten/quicksand","owner":"tighten","description":"Easily schedule regular cleanup of old soft-deleted Eloquent data.","archived":true,"fork":false,"pushed_at":"2024-03-12T12:09:13.000Z","size":343,"stargazers_count":295,"open_issues_count":2,"forks_count":18,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-04-02T06:15:44.402Z","etag":null,"topics":["eloquent","hacktoberfest","laravel","pivot-tables","quicksand"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tighten.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-07-07T16:42:55.000Z","updated_at":"2025-02-24T11:42:17.000Z","dependencies_parsed_at":"2024-03-12T13:48:55.948Z","dependency_job_id":null,"html_url":"https://github.com/tighten/quicksand","commit_stats":{"total_commits":95,"total_committers":18,"mean_commits":5.277777777777778,"dds":0.7684210526315789,"last_synced_commit":"53a2cc8f1ef6c71a61269c81a8443e22c5f3c498"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tighten%2Fquicksand","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tighten%2Fquicksand/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tighten%2Fquicksand/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tighten%2Fquicksand/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tighten","download_url":"https://codeload.github.com/tighten/quicksand/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246782126,"owners_count":20832976,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eloquent","hacktoberfest","laravel","pivot-tables","quicksand"],"created_at":"2024-08-01T10:00:45.671Z","updated_at":"2025-04-02T08:31:15.715Z","avatar_url":"https://github.com/tighten.png","language":"PHP","funding_links":[],"categories":["Popular Packages"],"sub_categories":[],"readme":"![Quicksand logo](https://raw.githubusercontent.com/tighten/quicksand/main/quicksand-banner.png)\n\n# Quicksand\n\n![Tests](https://github.com/tighten/quicksand/workflows/Tests/badge.svg)\n\nSchedule a force delete of your soft deleted Eloquent models or pivot tables after they've been soft deleted for a given period of time.\n\nQuicksand is an Artisan command that you can run in your scheduler daily.\n\n## Requirements\n\n- If you are using Laravel 5.6 or higher, use version `2.0` of this package.\n- If you are using Laravel 5.5 and running PHP 7.1 or higher, use version `1.0` of this package.\n- If you are using Laravel 5.4 or lower, or PHP 7.0 or lower, please use version `0.2` of this package.\n\n## Installation\n\n1. Add Quicksand to your Composer file: `composer require tightenco/quicksand`\n2. Register the Quicksand Service provider in `config/app.php` (you can skip this step if you're using Laravel 5.5 or higher due to package auto-discovery):\n\n    ```php\n    'providers' =\u003e [\n        ...\n\n        Tightenco\\Quicksand\\QuicksandServiceProvider::class,\n    ```\n3. Publish your config: `php artisan vendor:publish --provider=\"Tightenco\\Quicksand\\QuicksandServiceProvider\"`\n4. Edit your config. Define which classes and/or pivot tables you'd like to have Quicksand clean up for you, how many days Quicksand should wait to clean up, and whether or not the results should be logged. The default `'days'` until cleaning up is overridable by specifying a `'days'` key when registering a model or pivot table:\n\n    1. _Note: Quicksand will disregard any global scopes applied to models when deleting._\n    2. _Note: Prior to version 2.3 the `deletables` configuration key was named `models` and did not support pivot tables._\n\n    ```php\n    'days' =\u003e 30,\n\n    'deletables' =\u003e [\n        App\\Default::class,\n        App\\CleanEveryTwentyDays::class =\u003e [\n            'days'  =\u003e 20 // override default 'days'\n        ],\n        'example_pivot',\n        'example_pivot' =\u003e [\n            'days'  =\u003e 20 // override default 'days'\n        ]\n    ]\n    ```\n\n5. Schedule the command in `app/Console/Kernel.php`:\n\n    ```php\n    protected function schedule(Schedule $schedule)\n    {\n        $schedule-\u003ecommand('quicksand:run')\n            -\u003edaily();\n    }\n    ```\n### Using a Custom Log File\n\nIf you are using Laravel 5.6 or higher, you can customize the logger Quicksand uses by adding a `quicksand` channel to your `logging.php` config file like so:\n\n```php\n'channels' =\u003e [\n    /* ... */\n    'quicksand' =\u003e [\n        'driver' =\u003e 'single',\n        'path' =\u003e storage_path('logs/quicksand.log'),\n        'level' =\u003e 'info',\n    ],\n]\n```\n\nIf you are using Laravel 5.5 or lower, you can customize the logger Quicksand uses by editing the `custom_log_file` option in your `quicksand.php` config file.\n\nBy default, Quicksand will log to the standard `laravel.log` file.\n\n## Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/tighten/quicksand/tags).\n\n## Authors\n\n* **Benson Lee** - [besologic](https://github.com/besologic)\n* **Matt Stauffer** - [mattstauffer](https://github.com/mattstauffer)\n\nSee also the list of [contributors](https://github.com/tighten/quicksand/graphs/contributors) who participated in this project.\n\nThis package is developed and maintained by [Tighten](https://tighten.co).\n\n## Testing\nYou can test this package by running\n```\ncomposer test\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftighten%2Fquicksand","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftighten%2Fquicksand","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftighten%2Fquicksand/lists"}