-
Notifications
You must be signed in to change notification settings - Fork 64
Drop Ash related code in favor of the ash_backpex community project
#1675
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR removes Ash integration from Backpex core in favor of a community-maintained project ash_backpex. The Ash adapter is replaced with a deprecation notice directing users to the community project.
Key changes:
- Removed Ash dependencies from mix.exs files
- Replaced Ash adapter implementation with deprecation notice
- Removed all Ash-related demo code (TicketLive, tests, factories, resources)
- Added migration to drop Ash tables and functions from demo database
Reviewed changes
Copilot reviewed 20 out of 22 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| mix.exs | Removed ash and ash_postgres dependencies |
| lib/backpex/adapters/ash.ex | Replaced implementation with deprecation notice pointing to community project |
| demo/mix.exs | Removed ash, ash_postgres, and smokestack dependencies |
| demo/lib/demo/repo.ex | Changed from AshPostgres.Repo to Ecto.Repo |
| demo/lib/demo/support.ex | Deleted Helpdesk domain module |
| demo/lib/demo/helpdesk/ticket.ex | Deleted Ticket resource |
| demo/lib/demo/ash_factory.ex | Deleted Ash factory |
| demo/lib/demo_web/live/ticket_live.ex | Deleted TicketLive resource |
| demo/lib/demo_web/router.ex | Removed tickets route |
| demo/lib/demo_web/components/layouts/admin.html.heex | Removed Helpdesk sidebar section |
| demo/test/demo_web/live/ticket_live_test.exs | Deleted TicketLive tests |
| demo/test/demo_web/browser/ticket_browser_test.exs | Deleted browser tests for tickets |
| demo/priv/repo/seeds.exs | Removed ticket seeding and AshFactory import |
| demo/priv/repo/migrations/20251122095850_drop_ash_tables.exs | Added migration to drop Ash tables/functions |
| demo/priv/resource_snapshots/repo/tickets/20241103111608.json | Deleted Ash resource snapshot |
| demo/priv/resource_snapshots/repo/extensions.json | Deleted Ash extensions configuration |
| demo/config/config.exs | Removed Ash and Spark configuration |
| demo/.formatter.exs | Removed Ash imports and Spark formatter plugin |
| .formatter.exs | Removed Ash imports |
| AGENTS.md | Updated documentation to reference community project |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| def up do | ||
| # Drop tickets table | ||
| drop_if_exists table(:tickets) | ||
|
|
||
| # Drop Ash functions | ||
| execute(""" | ||
| DROP FUNCTION IF EXISTS ash_raise_error(jsonb); | ||
| """) |
Copilot
AI
Nov 22, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The new migration drops Ash functions that were created by the existing migration 20241022065649_install_ash-functions_extension_3.exs.exs, but that old migration file is still present. This creates migration history inconsistency. Consider either: (1) removing the old Ash migration files (20241022065649_install_ash-functions_extension_3.exs.exs and 20241022065651_create_ticket.exs.exs) if no production databases have them applied yet, or (2) if migrations have already been run in production, keep them but add a comment in this new migration explaining the relationship between these migrations.
No description provided.