Paper Dynasty Discord - Discord bot for card game
Go to file
Cal Corum 0163f24000 Fix null card_id in RosterLink causing IntegrityError
Previously, if get_card_or_none returned None (when a card ID from the
Google Sheet doesn't exist in the database), the code would create a
RosterLink with card=None, causing card_id to be null which violates
the NOT NULL constraint on the primary key.

Now we check if this_card is None before creating the RosterLink and
raise a CardNotFoundException with a helpful error message to guide
the user to fix their roster sheet.

Fixes the error: null value in column "card_id" of relation "rosterlink"
violates not-null constraint

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-15 09:15:07 -06:00
.plans Cogs to Packages Groundwork 2025-08-17 08:46:55 -05:00
.vscode Catchup commit 2025-07-22 09:22:19 -05:00
cogs CLAUDE: Add news-ticker message when gauntlet runs end with 2 losses 2025-11-10 09:17:55 -06:00
command_logic Fix null card_id in RosterLink causing IntegrityError 2025-11-15 09:15:07 -06:00
discord_ui Catchup files 2025-11-11 13:22:06 -06:00
helpers Catchup files 2025-11-11 13:22:06 -06:00
in_game Added search functionality to /player command 2025-10-08 14:45:41 -05:00
migrations Update cache refresh logic to replace vs delete 2025-02-23 22:50:58 -06:00
tests Catchup files 2025-11-11 13:22:06 -06:00
utilities Fix bot crash when substituting player without eligible position 2025-11-12 16:02:35 -06:00
.dockerignore Catchup commit 2025-07-22 09:22:19 -05:00
.gitignore Catchup commit 2025-07-22 09:22:19 -05:00
alembic.ini Added base alembic config 2024-10-11 16:42:15 -05:00
api_calls.py Catchup commit 2025-07-22 09:22:19 -05:00
constants.py 05 Live Updates 2025-11-10 17:13:02 -06:00
db_calls_gameplay.py Update logging to RotatingFileHandler 2024-11-09 23:14:54 -06:00
deploy.sh Add HTTP health check endpoint for container monitoring 2025-11-12 14:44:53 -06:00
DEPLOYMENT.md Catchup files 2025-11-11 13:22:06 -06:00
dice.py Remove outdate image links 2025-06-04 09:54:13 -05:00
discord_utils.py Cogs to Packages Groundwork 2025-08-17 08:46:55 -05:00
Dockerfile Added docker to environment 2024-10-12 02:04:30 -05:00
exceptions.py Catchup commit 2025-07-22 09:22:19 -05:00
gauntlets.py CLAUDE: Fix Event ID 9 gauntlet UnboundLocalError for team_id variable 2025-11-11 12:57:12 -06:00
health_server.py Add HTTP health check endpoint for container monitoring 2025-11-12 14:44:53 -06:00
help_text.py S10 Updates + PR Bugfix 2025-11-09 06:12:46 -06:00
helpers.py CLAUDE: Add get_context_user() helper for hybrid command compatibility 2025-11-10 09:07:09 -06:00
LICENSE Initial commit 2020-07-07 13:56:19 -05:00
manual_pack_distribution.py S10 Updates + PR Bugfix 2025-11-09 06:12:46 -06:00
paperdynasty.py Add HTTP health check endpoint for container monitoring 2025-11-12 14:44:53 -06:00
PRODUCTION_COGS.md DOCS: Add production cogs documentation for future reference 2025-11-10 09:46:11 -06:00
pytest.ini Catchup commit 2025-07-22 09:22:19 -05:00
random_content.py Cogs to Packages Groundwork 2025-08-17 08:46:55 -05:00
requirements.txt Add HTTP health check endpoint for container monitoring 2025-11-12 14:44:53 -06:00
search_utils.py Catchup commit 2025-07-22 09:22:19 -05:00
utils.py CLAUDE: Fix get_roster_sheet() to handle both dict and Team objects 2025-11-10 09:11:37 -06:00