Skip to content
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

update drizzle-zod #2819

Merged

Conversation

xoldd
Copy link
Contributor

@xoldd xoldd commented Jan 1, 2025

What kind of change does this PR introduce?

feature

Issue Number:

Fixes #

Did you add tests for your changes?

No

Snapshots/Videos:

If relevant, did you update the documentation?

Summary

Updated the drizzle-zod package to latest stable release. It introduced breaking changes so had to fix them.

Does this PR introduce a breaking change?

Other information

Have you read the contributing guide?

Yes

Summary by CodeRabbit

Release Notes

  • Dependencies

    • Updated drizzle-zod from 0.5.1 to 0.6.1
    • Updated @types/node from 22.10.2 to 22.10.3
  • Database Schema

    • Simplified validation logic across multiple table schemas
    • Standardized schema validation approach for various fields
    • Removed explicit field references in schema validation
  • User Management

    • Enhanced administrator user creation with additional optional fields

These updates primarily focus on improving internal validation and schema consistency across the application's database models.

Copy link

coderabbitai bot commented Jan 1, 2025

Important

Review skipped

More than 25% of the files skipped due to max files limit. The review is being skipped to prevent a low-quality review.

212 files out of 294 files are above the max files limit of 75. Please upgrade to Pro plan to get higher limits.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

This pull request introduces a comprehensive update to the validation schemas across multiple Drizzle table definition files. The changes primarily focus on simplifying the schema validation methods by removing explicit field references and applying validation constraints directly to the schema object. This modification affects numerous files in the src/drizzle/tables/ directory, including tables for advertisements, events, users, chats, and more. Additionally, the package.json file has been updated with minor version bumps for drizzle-zod and @types/node dependencies.

Changes

File Change Summary
package.json - Updated drizzle-zod from 0.5.1 to 0.6.1
- Updated @types/node from ^22.10.2 to ^22.10.3
src/drizzle/tables/* - Simplified schema validation across multiple tables
- Removed explicit field references (e.g., schema.name.min(1)schema.min(1))
- Maintained existing validation constraints
src/graphql/inputs/MutationUpdateEventInput.ts - Simplified description field schema definition
src/plugins/seedPostgres.ts - Added new nullable properties to administrator user input

Possibly related PRs

Suggested Labels

ignore-sensitive-files-pr

Suggested Reviewers

  • EshaanAgg
  • DMills27
  • palisadoes

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

github-actions bot commented Jan 1, 2025

Our Pull Request Approval Process

Thanks for contributing!

Testing Your Code

Remember, your PRs won't be reviewed until these criteria are met:

  1. We don't merge PRs with poor code quality.
    1. Follow coding best practices such that CodeRabbit.ai approves your PR.
  2. We don't merge PRs with failed tests.
    1. When tests fail, click on the Details link to learn more.
    2. Write sufficient tests for your changes (CodeCov Patch Test). Your testing level must be better than the target threshold of the repository
    3. Tests may fail if you edit sensitive files. Ask to add the ignore-sensitive-files-pr label if the edits are necessary.
  3. We cannot merge PRs with conflicting files. These must be fixed.

Our policies make our code better.

Reviewers

Do not assign reviewers. Our Queue Monitors will review your PR and assign them.
When your PR has been assigned reviewers contact them to get your code reviewed and approved via:

  1. comments in this PR or
  2. our slack channel

Reviewing Your Code

Your reviewer(s) will have the following roles:

  1. arbitrators of future discussions with other contributors about the validity of your changes
  2. point of contact for evaluating the validity of your work
  3. person who verifies matching issues by others that should be closed.
  4. person who gives general guidance in fixing your tests

CONTRIBUTING.md

Read our CONTRIBUTING.md file. Most importantly:

  1. PRs with issues not assigned to you will be closed by the reviewer
  2. Fix the first comment in the PR so that each issue listed automatically closes

Other

  1. 🎯 Please be considerate of our volunteers' time. Contacting the person who assigned the reviewers is not advised unless they ask for your input. Do not @ the person who did the assignment otherwise.
  2. Read the CONTRIBUTING.md file make

@xoldd xoldd added the ignore-sensitive-files-pr The contributor has a legitimate reason for editiing protected files label Jan 1, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9a5a8c6 and caf12af.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (23)
  • package.json (2 hunks)
  • src/drizzle/tables/advertisementAttachments.ts (1 hunks)
  • src/drizzle/tables/advertisements.ts (1 hunks)
  • src/drizzle/tables/agendaFolders.ts (1 hunks)
  • src/drizzle/tables/agendaItems.ts (1 hunks)
  • src/drizzle/tables/chatMessages.ts (1 hunks)
  • src/drizzle/tables/chats.ts (1 hunks)
  • src/drizzle/tables/comments.ts (1 hunks)
  • src/drizzle/tables/eventAttachments.ts (1 hunks)
  • src/drizzle/tables/events.ts (1 hunks)
  • src/drizzle/tables/fundCampaignPledges.ts (1 hunks)
  • src/drizzle/tables/fundCampaigns.ts (1 hunks)
  • src/drizzle/tables/funds.ts (1 hunks)
  • src/drizzle/tables/organizations.ts (1 hunks)
  • src/drizzle/tables/postAttachments.ts (1 hunks)
  • src/drizzle/tables/posts.ts (1 hunks)
  • src/drizzle/tables/tagFolders.ts (1 hunks)
  • src/drizzle/tables/tags.ts (1 hunks)
  • src/drizzle/tables/users.ts (1 hunks)
  • src/drizzle/tables/venueAttachments.ts (1 hunks)
  • src/drizzle/tables/venues.ts (1 hunks)
  • src/graphql/inputs/MutationUpdateEventInput.ts (1 hunks)
  • src/plugins/seedPostgres.ts (1 hunks)
🔇 Additional comments (20)
src/graphql/inputs/MutationUpdateEventInput.ts (1)

8-8: Ensuring consistent optional field usage

Switching from unwrap() to optional() for description helps align the schema fields and ensures the field can be safely omitted. This change is consistent with checked optional fields like endAt, name, and startAt. No immediate issues detected.

src/drizzle/tables/postAttachments.ts (1)

108-108: Validation refactor looks clean

Removing the direct property reference (e.g. schema.name) in favor of schema.min(1) is consistent with the new drizzle-zod approach. No issues found.

src/drizzle/tables/comments.ts (1)

111-111: Streamlined validation

Switching from schema.body.min(1).max(2048) to schema.min(1).max(2048) remains functionally identical while adhering to the updated pattern. Looks good.

src/drizzle/tables/venueAttachments.ts (1)

108-108: Confirm min-length validation coverage for the name field.
This change correctly sets a minimum length requirement of 1, but make sure there are tests or validations that confirm no empty string slips through. Consider adding more constraints (e.g., maximum length) if necessary.

src/drizzle/tables/eventAttachments.ts (1)

108-108: Assess consistency of schema validations.
The updated validation (schema) => schema.min(1) ensures at least one character is provided. Confirm uniform application across related attachments and verify that an empty name is adequately handled or rejected.

src/drizzle/tables/advertisementAttachments.ts (1)

109-109: Validate non-empty attachments.
Requiring name to have at least one character helps prevent storing malformed entries. Confirm that consistent validations are in place for all relevant fields.

src/drizzle/tables/agendaItems.ts (1)

127-128: Expand on test coverage for validation
These validations ensure that description and name meet the required length constraints. However, there are no accompanying tests to confirm that short or excessively long values for these fields properly fail validation. Consider adding test coverage to validate both valid and out-of-bound inputs.

src/drizzle/tables/tags.ts (1)

132-132: Consider upstream references to field-based validation
Similar to other files, this change removes the explicit reference to the name field from schema.name. Confirm that no other part of the code relies on or expects that schema function signature. If such references exist, they might require updates to reflect these new direct schema calls.

src/drizzle/tables/posts.ts (1)

133-133: Ensure that the field is typed as a non-empty string.
Applying min(1).max(2048) directly on the schema enforces a non-empty string with a maximum length. This approach aligns with your intended validation constraints and is consistent with the new refactoring.

src/drizzle/tables/chats.ts (1)

131-133: Adopt consistent optional/required semantics.
All three fields (avatarName, description, name) now use min(1) to guard against empty strings, which is consistent with the pattern in other files. Verify that these fields are truly required and non-null in the database schema (or optional if that’s intended). If the columns are not marked NOT NULL, consider aligning validation rules accordingly to avoid conflicts.

src/drizzle/tables/fundCampaignPledges.ts (1)

137-138: Double-check column defaults vs. non-empty constraints.
Line 137 ensures amount is at least 1, which is appropriate. However, line 138 sets note to min(1), yet the database column for note doesn’t appear to be NOT NULL. If note is optional, consider removing this constraint or allowing empty strings to prevent possible insertion conflicts for rows lacking a note.

src/drizzle/tables/tagFolders.ts (1)

144-144: Good transition to direct schema validation.
Applying min(1).max(256) directly to the schema enforces that name cannot be empty or exceed 256 characters. This is a straightforward way to ensure valid data for the name field.

src/drizzle/tables/fundCampaigns.ts (1)

152-152: Confirm scope of validation changes.

Changing the validator from schema.name.min(1).max(256) to schema.min(1).max(256) may be stylistically consistent with the rest of the code, but ensure that it doesn't inadvertently remove any field-specific checks or naming clarity. If there's any field-specific logic for the name field, confirm that it's handled elsewhere.

src/drizzle/tables/advertisements.ts (1)

154-155: Validate against existing data.

Applying more restrictive validations (min length of 1, max length of 2048 or 256) could break existing data if some fields were allowed to be empty or longer in the past. Confirm there is no existing production data that violates these constraints.

src/drizzle/tables/agendaFolders.ts (1)

152-152: Maintain consistency with other schemas.

This change mirrors the same validation approach seen across other tables (using schema.min(...) instead of schema.name.min(...)). Verify that the calling code and related unit tests (if any) do not rely on the old field-based approach. If there are no tests, consider adding some to confirm correct validation behavior.

src/drizzle/tables/events.ts (1)

152-153: 🧹 Nitpick (assertive)

Enhance verification and test coverage.

The new validations enforce minimum and maximum lengths for description and name. Ensure that any data migration or seeding scripts align with these constraints. It’s also advisable to add or update tests to confirm that these validation constraints hold true in different edge cases.

Would you like me to provide sample test scaffolding to validate these constraints?

src/drizzle/tables/organizations.ts (1)

214-220: Consider optional vs. required fields for better data modeling.
Currently, each field imposes a minimum length of 1, which means they are strictly required to be non-empty. If your data model permits empty or null values for any of these fields, you might need to make them optional (.optional()) or remove the min constraint. Otherwise, the schema will reject empty strings or missing values that might be valid in certain business scenarios.

If these fields should indeed be required, ensure all consuming code and tests account for non-empty constraints. If they can be empty, add .optional() or remove the .min(1) constraint as appropriate.

src/drizzle/tables/users.ts (1)

646-652: Reconfirm requiredness of fields in user schema.
Similar to the organizations table changes, each field is enforced to be non-empty. Verify whether fields like address and description are truly required or can be omitted. If they can be optional, use .optional() or omit min(1).

Additionally, consider creating or updating unit tests to ensure these validations work as expected.

package.json (2)

40-40: Confirm the @types/node update.
While this is a minor version bump, verify that local and CI environments are aligned so that type definitions remain consistent.
[approve]


19-19: Verify stability of the updated drizzle-zod version.
The jump from "0.5.1" to "0.6.1" may introduce breaking changes. Ensure the updated library is properly tested to confirm that none of its new constraints break existing workflows.

You can run a test script to confirm the updated dependency is compatible with all usage sites:

✅ Verification successful

Let me analyze the usage of drizzle-zod in the codebase to verify if the version update might cause any issues.


Let me check the peer dependencies and actual version requirements to ensure compatibility.


The drizzle-zod update from 0.5.1 to 0.6.1 is safe to proceed

The version update is safe because:

  1. The codebase uses [email protected] and [email protected], which are within the peer dependency requirements of drizzle-zod 0.6.1
  2. The usage pattern of createInsertSchema across all files follows a consistent pattern that's compatible with both versions
  3. All schema validations use standard zod methods (min, max) which are stable across these versions
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for all drizzle-zod usage sites across the codebase and display context
rg -A 8 'drizzle-zod'

Length of output: 18809


Script:

#!/bin/bash
# Check the changelog or release notes of drizzle-zod for version 0.6.1
gh release view v0.6.1 --repo "drizzle-team/drizzle-zod"

# Check the actual usage pattern of createInsertSchema to verify compatibility
ast-grep --pattern 'createInsertSchema($$$)'

Length of output: 8787


Script:

#!/bin/bash
# Check the package.json for drizzle-orm and zod versions
rg '"drizzle-orm"|"zod"' package.json

# Check the actual version installed in pnpm-lock.yaml
rg 'drizzle-orm@|zod@' pnpm-lock.yaml

Length of output: 378

Comment on lines +59 to +73
address: null,
avatarName: null,
city: null,
creatorId: userId,
description: null,
emailAddress: fastify.envConfig.API_ADMINISTRATOR_USER_EMAIL_ADDRESS,
id: userId,
isEmailAddressVerified: true,
name: "name",
passwordHash: await hash(
fastify.envConfig.API_ADMINISTRATOR_USER_PASSWORD,
),
postalCode: null,
role: "administrator",
state: null,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Schema validation constraints need adjustment

The database schema allows null values for the fields in question (address, avatarName, city, description, postalCode, state), but the usersTableInsertSchema enforces non-null constraints with minimum length requirements. This misalignment needs to be fixed:

  • src/drizzle/tables/users.ts: The insert schema enforces non-null constraints with:
    • address: min(1).max(1024)
    • avatarName: min(1)
    • city: min(1).max(64)
    • description: min(1).max(2048)
    • postalCode: min(1).max(32)
    • state: min(1).max(64)

These validation rules need to be made optional to match the nullable database columns.

🔗 Analysis chain

Verify nullability alignment with schema

Newly added null fields (address, avatarName, city, description, postalCode, state) may require explicit allowance for null in the usersTableInsertSchema. Ensure these fields accept null without violating validations or constraints. Otherwise, insertion might fail.


Let me generate another script to check the schema definition in the users table.


Let me try a different approach to check the schema definition.


Let me get more lines of the schema definition since it was cut off.


Let me get the remaining part of the schema definition.


Let me get one more piece of the schema to see the remaining fields.


Let me try one final search to get the middle part of the schema.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify the schema in files referencing `usersTableInsertSchema` to ensure null is allowed
rg -A 10 "usersTableInsertSchema"

Length of output: 14951


Script:

#!/bin/bash
# Check the schema definition in users table
ast-grep --pattern 'export const usersTable = pgTable("users", {
  $$$
});'

Length of output: 77


Script:

#!/bin/bash
# Check the schema definition in users table using ripgrep
rg -A 30 "export const usersTable = pgTable" src/drizzle/tables/users.ts

Length of output: 718


Script:

#!/bin/bash
# Check the complete schema definition in users table using ripgrep with more context
rg -A 100 "export const usersTable = pgTable" src/drizzle/tables/users.ts

Length of output: 2527


Script:

#!/bin/bash
# Get the remaining part of the schema definition
rg -B 50 "}\);" src/drizzle/tables/users.ts

Length of output: 1927


Script:

#!/bin/bash
# Get the middle part of the schema that we missed
rg -B 20 "venueBookingsWhereCreator" src/drizzle/tables/users.ts

Length of output: 790


Script:

#!/bin/bash
# Search for specific fields we need to verify
rg "passwordHash|postalCode|role|state" src/drizzle/tables/users.ts -A 5 -B 5

Length of output: 999

@@ -119,5 +119,5 @@ export const fundsTableRelations = relations(fundsTable, ({ one, many }) => ({
}));

export const fundsTableInsertSchema = createInsertSchema(fundsTable, {
name: (schema) => schema.name.min(1).max(256),
name: (schema) => schema.min(1).max(256),
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Ensure test coverage for length boundaries.
The name field has min and max length requirements. Confirm you have a test case for edge values (e.g., name of length 1 and 256) to detect any off-by-one errors.

@@ -120,6 +120,6 @@ export const chatMessagesTableRelations = relations(
export const chatMessagesTableInsertSchema = createInsertSchema(
chatMessagesTable,
{
body: (schema) => schema.body.min(1).max(2048),
body: (schema) => schema.min(1).max(2048),
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Validate indirect property usage carefully
By referencing schema.min(1).max(2048) directly, it no longer explicitly ties this validation to the body field, which might cause confusion when reading the schema definitions. If the intention is to preserve clarity that these rules apply specifically to the body field, consider adding a comment or clarifying inline documentation to ensure future maintainers understand which field is being validated.

Comment on lines +128 to +129
description: (schema) => schema.min(1).max(2048),
name: (schema) => schema.min(1).max(256),
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Revisit user-facing error messages
When description or name fail the .min(1).max(...) checks, the user-facing error message provided by drizzle-zod might be generic. Ensure that any thrown errors or messages clearly communicate which field failed validation and why, improving the user experience.

@xoldd
Copy link
Contributor Author

xoldd commented Jan 1, 2025

@palisadoes eslint-disable workflow check is useless because eslint is replaced with biome in the project

@palisadoes
Copy link
Contributor

Thanks. We'll open an issue for that

@palisadoes
Copy link
Contributor

  1. Why did you select the use of Biome when all the other repos use eslint?
  2. We should be standardizing. Linting is an administrative overhead task. If there is marginal improvement there should be no reason to change.

@xoldd
Copy link
Contributor Author

xoldd commented Jan 1, 2025

  1. Why did you select the use of Biome when all the other repos use eslint?
  2. We should be standardizing. Linting is an administrative overhead task. If there is marginal improvement there should be no reason to change.

Only other repo using it is talawa-admin.

Eslint is very slow both during manual checking and its editor integrations that run in the background because its written in javascript. It also doesn't come with strict sane defaults and manually configuring it is a mess because of plugins.

Biome is written in rust and is one of the fastest linters in the javascript ecosystem. It comes with strict sane defaults so no need configuring it. I've mentioned the main reason in this comment:

// This file must be modified as seldom as possible. Best practice is to use the formatting and linting tools with the default configuration they come with instead of trying to shoehorn custom preferences for momentary satisfaction. Let the developers of formatters and linters decide what the best configuration and practices are. The job of the contributers to the project is simply to write code and let the formatters and linters take care of keeping uniformity in code quality across codebases. More information at this link: https://biomejs.dev/reference/configuration/

@xoldd xoldd force-pushed the update_drizzle_zod branch from caf12af to e604d10 Compare January 1, 2025 18:43
Copy link

github-actions bot commented Jan 1, 2025

Our Pull Request Approval Process

Thanks for contributing!

Testing Your Code

Remember, your PRs won't be reviewed until these criteria are met:

  1. We don't merge PRs with poor code quality.
    1. Follow coding best practices such that CodeRabbit.ai approves your PR.
  2. We don't merge PRs with failed tests.
    1. When tests fail, click on the Details link to learn more.
    2. Write sufficient tests for your changes (CodeCov Patch Test). Your testing level must be better than the target threshold of the repository
    3. Tests may fail if you edit sensitive files. Ask to add the ignore-sensitive-files-pr label if the edits are necessary.
  3. We cannot merge PRs with conflicting files. These must be fixed.

Our policies make our code better.

Reviewers

Do not assign reviewers. Our Queue Monitors will review your PR and assign them.
When your PR has been assigned reviewers contact them to get your code reviewed and approved via:

  1. comments in this PR or
  2. our slack channel

Reviewing Your Code

Your reviewer(s) will have the following roles:

  1. arbitrators of future discussions with other contributors about the validity of your changes
  2. point of contact for evaluating the validity of your work
  3. person who verifies matching issues by others that should be closed.
  4. person who gives general guidance in fixing your tests

CONTRIBUTING.md

Read our CONTRIBUTING.md file. Most importantly:

  1. PRs with issues not assigned to you will be closed by the reviewer
  2. Fix the first comment in the PR so that each issue listed automatically closes

Other

  1. 🎯 Please be considerate of our volunteers' time. Contacting the person who assigned the reviewers is not advised unless they ask for your input. Do not @ the person who did the assignment otherwise.
  2. Read the CONTRIBUTING.md file make

@palisadoes
Copy link
Contributor

Can this be merged now?

Copy link

github-actions bot commented Jan 2, 2025

Our Pull Request Approval Process

Thanks for contributing!

Testing Your Code

Remember, your PRs won't be reviewed until these criteria are met:

  1. We don't merge PRs with poor code quality.
    1. Follow coding best practices such that CodeRabbit.ai approves your PR.
  2. We don't merge PRs with failed tests.
    1. When tests fail, click on the Details link to learn more.
    2. Write sufficient tests for your changes (CodeCov Patch Test). Your testing level must be better than the target threshold of the repository
    3. Tests may fail if you edit sensitive files. Ask to add the ignore-sensitive-files-pr label if the edits are necessary.
  3. We cannot merge PRs with conflicting files. These must be fixed.

Our policies make our code better.

Reviewers

Do not assign reviewers. Our Queue Monitors will review your PR and assign them.
When your PR has been assigned reviewers contact them to get your code reviewed and approved via:

  1. comments in this PR or
  2. our slack channel

Reviewing Your Code

Your reviewer(s) will have the following roles:

  1. arbitrators of future discussions with other contributors about the validity of your changes
  2. point of contact for evaluating the validity of your work
  3. person who verifies matching issues by others that should be closed.
  4. person who gives general guidance in fixing your tests

CONTRIBUTING.md

Read our CONTRIBUTING.md file. Most importantly:

  1. PRs with issues not assigned to you will be closed by the reviewer
  2. Fix the first comment in the PR so that each issue listed automatically closes

Other

  1. 🎯 Please be considerate of our volunteers' time. Contacting the person who assigned the reviewers is not advised unless they ask for your input. Do not @ the person who did the assignment otherwise.
  2. Read the CONTRIBUTING.md file make

@xoldd xoldd force-pushed the update_drizzle_zod branch from a29bb10 to 87d7116 Compare January 2, 2025 17:37
Copy link

github-actions bot commented Jan 2, 2025

Our Pull Request Approval Process

Thanks for contributing!

Testing Your Code

Remember, your PRs won't be reviewed until these criteria are met:

  1. We don't merge PRs with poor code quality.
    1. Follow coding best practices such that CodeRabbit.ai approves your PR.
  2. We don't merge PRs with failed tests.
    1. When tests fail, click on the Details link to learn more.
    2. Write sufficient tests for your changes (CodeCov Patch Test). Your testing level must be better than the target threshold of the repository
    3. Tests may fail if you edit sensitive files. Ask to add the ignore-sensitive-files-pr label if the edits are necessary.
  3. We cannot merge PRs with conflicting files. These must be fixed.

Our policies make our code better.

Reviewers

Do not assign reviewers. Our Queue Monitors will review your PR and assign them.
When your PR has been assigned reviewers contact them to get your code reviewed and approved via:

  1. comments in this PR or
  2. our slack channel

Reviewing Your Code

Your reviewer(s) will have the following roles:

  1. arbitrators of future discussions with other contributors about the validity of your changes
  2. point of contact for evaluating the validity of your work
  3. person who verifies matching issues by others that should be closed.
  4. person who gives general guidance in fixing your tests

CONTRIBUTING.md

Read our CONTRIBUTING.md file. Most importantly:

  1. PRs with issues not assigned to you will be closed by the reviewer
  2. Fix the first comment in the PR so that each issue listed automatically closes

Other

  1. 🎯 Please be considerate of our volunteers' time. Contacting the person who assigned the reviewers is not advised unless they ask for your input. Do not @ the person who did the assignment otherwise.
  2. Read the CONTRIBUTING.md file make

@xoldd
Copy link
Contributor Author

xoldd commented Jan 2, 2025

Can this be merged now?

yes

@palisadoes palisadoes merged commit 98670f5 into PalisadoesFoundation:develop-postgres Jan 3, 2025
13 of 14 checks passed
@palisadoes
Copy link
Contributor

Can we start the migration now?

@xoldd xoldd deleted the update_drizzle_zod branch January 3, 2025 17:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ignore-sensitive-files-pr The contributor has a legitimate reason for editiing protected files
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants