Skip to content

Commit ebcef94

Browse files
committed
chore: add project infrastructure files
- Add pyproject.toml with build configuration and towncrier settings - Add requirements.txt and requirements-dev.txt - Add src directory structure for sqlserver backend (namespace packages) - Add backend.py with placeholder SQLServerBackend implementation - Add .github/ISSUE_TEMPLATE for bug reports and feature requests - Add .github/PULL_REQUEST_TEMPLATE for bugfix, feature, and release PRs - Add .github/workflows/test.yml and publish.yml - Add CLAUDE.md and .claude directory - Add changelog.d directory with template and README - Add pytest.ini for test configuration - Update .gitignore to exclude .venv* - Update README.md with warning about incomplete implementation
1 parent 2e26ef4 commit ebcef94

20 files changed

Lines changed: 1010 additions & 1 deletion

File tree

‎.claude/.gitignore‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
tmp/
2+
tmp*
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
---
2+
name: Bug Report
3+
about: Report a bug in rhosocial ActiveRecord SQL Server Backend
4+
title: '[SQLSERVER-BUG] '
5+
labels: 'bug, sqlserver'
6+
assignees: ''
7+
---
8+
9+
## Before Submitting
10+
11+
Please ensure this bug is specific to the SQL Server backend implementation. If the issue occurs across all backends (involving ActiveRecord/ActiveQuery functionality), please submit the issue at https://github.com/rhosocial/python-activerecord/issues instead.
12+
13+
## Description
14+
15+
A clear and concise description of the bug in the SQL Server backend.
16+
17+
## Environment
18+
19+
- **rhosocial ActiveRecord SQL Server Version**: [e.g. 1.0.0.dev1]
20+
- **rhosocial ActiveRecord Core Version**: [e.g. 1.0.0.dev13]
21+
- **Python Version**: [e.g. 3.13]
22+
- **SQL Server Version**: [e.g. 2019, 2022, Azure SQL]
23+
- **pyodbc Driver Version**: [e.g. 5.0.0]
24+
- **OS**: [e.g. Linux, macOS, Windows]
25+
26+
## Steps to Reproduce
27+
28+
1.
29+
2.
30+
3.
31+
32+
## Expected Behavior
33+
34+
A clear and concise description of what you expected to happen.
35+
36+
## Actual Behavior
37+
38+
What actually happened instead of the expected behavior.
39+
40+
## Database Query
41+
42+
If applicable, provide the generated SQL query that causes the issue:
43+
44+
```sql
45+
-- Your problematic SQL query here
46+
```
47+
48+
## Model Definition
49+
50+
If the issue is related to a specific model, please share your model definition:
51+
52+
```python
53+
# Example model definition
54+
class User(ActiveRecord):
55+
__table_name__ = 'users'
56+
57+
id: Optional[int] = None
58+
name: str
59+
email: EmailStr
60+
```
61+
62+
## SQL Server-Specific Configuration
63+
64+
Any SQL Server-specific configuration that might be relevant:
65+
66+
```python
67+
config = SQLServerConnectionConfig(
68+
host='localhost',
69+
port=1433,
70+
database='test',
71+
username='user',
72+
password='password',
73+
driver='ODBC Driver 18 for SQL Server',
74+
# Add your specific options here
75+
)
76+
```
77+
78+
## Error Details
79+
80+
If you're getting an error, include the full error message and stack trace:
81+
82+
```
83+
Paste the full error message here
84+
```
85+
86+
## Additional Context
87+
88+
Any other context about the problem here.
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
name: Feature Request
3+
about: Suggest a feature for rhosocial ActiveRecord SQL Server Backend
4+
title: '[SQLSERVER-FEATURE] '
5+
labels: 'enhancement, sqlserver'
6+
assignees: ''
7+
---
8+
9+
## Before Submitting
10+
11+
Please ensure this feature request is specific to the SQL Server backend implementation. If the feature is related to ActiveRecord/ActiveQuery functionality that should be consistent across all backends, please submit the feature request at https://github.com/rhosocial/python-activerecord/issues instead.
12+
13+
## Description
14+
15+
A clear and concise description of the desired feature for the SQL Server backend.
16+
17+
## Problem Statement
18+
19+
Is your feature request related to a specific problem? Please describe.
20+
21+
## Proposed Solution
22+
23+
Describe the solution you'd like to see implemented in the SQL Server backend.
24+
25+
## SQL Server-Specific Use Cases
26+
27+
What specific SQL Server use cases would this feature address?
28+
29+
1.
30+
2.
31+
32+
## SQL Server Features & Capabilities
33+
34+
Does this feature relate to specific SQL Server capabilities? (Select all that apply)
35+
36+
- [ ] T-SQL stored procedures
37+
- [ ] JSON operations
38+
- [ ] Window functions
39+
- [ ] Common Table Expressions (CTEs)
40+
- [ ] Full-text search
41+
- [ ] Spatial data types
42+
- [ ] Columnstore indexes
43+
- [ ] In-Memory OLTP
44+
- [ ] Always Encrypted
45+
- [ ] Other SQL Server-specific features
46+
47+
## Technical Considerations
48+
49+
Are there any technical constraints or considerations specific to SQL Server for implementing this feature?
50+
51+
## Comparison with Alternatives
52+
53+
How does this feature compare to alternative approaches in the SQL Server ecosystem?
54+
55+
## Impact Assessment
56+
57+
- **Compatibility**: Will this feature be backward compatible with existing SQL Server installations?
58+
- **Performance**: Are there any performance implications for SQL Server queries?
59+
- **Migration**: Would this require database schema changes or migration steps?
60+
61+
## Additional Context
62+
63+
Add any other context or examples about the feature request here.
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
---
2+
name: "Bugfix Pull Request"
3+
about: Propose a bug fix for the rhosocial-activerecord ecosystem, targeting a pre-release branch (e.g., release/vX.Y.Z).
4+
title: "fix(<scope>): <description>"
5+
labels: "bug, bugfix"
6+
assignees: ""
7+
---
8+
9+
## Description
10+
11+
<!--
12+
Please include a summary of the bug and the fix.
13+
Describe the impact of the bug and why this fix addresses it.
14+
-->
15+
16+
Fixes # (issue)
17+
18+
## Reproduction Steps
19+
20+
<!--
21+
Please provide clear and detailed steps to reproduce the bug.
22+
This is crucial for verifying the fix. Include code snippets, configurations,
23+
and expected vs. actual behavior.
24+
-->
25+
26+
1.
27+
2.
28+
3.
29+
30+
## Type of change
31+
32+
<!--
33+
Please delete options that are not relevant.
34+
Remember to follow the Conventional Commits specification.
35+
-->
36+
37+
- [ ] `fix`: A bug fix
38+
- [ ] `docs`: Documentation only changes (if related to the bug or fix)
39+
- [ ] `test`: Adding missing tests or correcting existing tests (for the bug or fix)
40+
- [ ] `refactor`: A code change that neither fixes a bug nor adds a feature (if part of the fix)
41+
- [ ] `perf`: A code change that improves performance (if part of the fix)
42+
- [ ] `chore`: Changes to the build process or auxiliary tools and libraries suchs as documentation generation (if related to the bug or fix)
43+
- [ ] `ci`: Changes to our CI configuration files and scripts (if related to the bug or fix)
44+
- [ ] `build`: Changes that affect the build system or external dependencies (if related to the bug or fix)
45+
- [ ] `revert`: Reverts a previous commit
46+
47+
## Breaking Change
48+
49+
<!--
50+
Does this PR introduce a breaking change?
51+
- If YES, please describe the impact and migration path for existing applications.
52+
- If NO, please indicate N/A.
53+
-->
54+
55+
- [ ] Yes
56+
- [ ] No
57+
(If Yes, please describe the impact and migration path below):
58+
59+
**Applicable `rhosocial-activerecord` Version Range:**
60+
<!-- Specify the version range of rhosocial-activerecord that this change is compatible with (e.g., ">=1.0.0,<2.0.0"). -->
61+
62+
63+
64+
## Related Repositories/Packages
65+
66+
<!--
67+
If this change affects other repositories in the rhosocial-activerecord ecosystem (e.g., testsuite, mysql, postgres),
68+
please list them and describe the coordinated changes needed.
69+
-->
70+
71+
72+
## Testing
73+
74+
<!--
75+
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.
76+
Also, list any relevant configuration details (e.g., SQL Server version, Python version).
77+
-->
78+
79+
- [ ] I have added new tests to cover my changes.
80+
- [ ] I have updated existing tests to reflect my changes.
81+
- [ ] All existing tests pass.
82+
- [ ] This change has been tested on [specify backend/DB versions].
83+
84+
**Test Plan:**
85+
<!-- e.g., "Ran `pytest tests/rhosocial/activerecord_test/bug/my_bug_fix.py`" -->
86+
87+
88+
## Checklist
89+
90+
<!--
91+
Go over all the following points, and put an `x` in all the boxes that apply.
92+
If you're unsure about any of these, don't hesitate to ask. We're here to help!
93+
-->
94+
95+
- [ ] My code follows the project's code style guidelines.
96+
- [ ] I have performed a self-review of my own code.
97+
- [ ] I have commented my code, particularly in hard-to-understand areas.
98+
- [ ] I have made corresponding changes to the documentation (Docstrings, `README.md`, etc.).
99+
- [ ] My changes generate no new warnings.
100+
- [ ] I have added a Changelog fragment (`changelog.d/<issue_number>.<type>.md`).
101+
- [ ] I have verified that my changes do not introduce SQL injection vulnerabilities.
102+
- [ ] I have checked for potential performance regressions.
103+
104+
## Additional Notes
105+
106+
<!-- Any additional information, context, or questions for reviewers. -->
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
name: "Feature Pull Request"
3+
about: Propose a new feature for the rhosocial-activerecord ecosystem, targeting a pre-release branch (e.g., release/vX.Y.Z).
4+
title: "feat(<scope>): <description>"
5+
labels: "feature"
6+
assignees: ""
7+
---
8+
9+
## Description
10+
11+
<!--
12+
Please include a summary of the new feature and its motivation.
13+
Describe the problem it solves or the new capability it provides.
14+
List any dependencies that are required for this change.
15+
-->
16+
17+
Adds # (issue)
18+
19+
## Type of change
20+
21+
<!--
22+
Please delete options that are not relevant.
23+
Remember to follow the Conventional Commits specification.
24+
-->
25+
26+
- [ ] `feat`: A new feature
27+
- [ ] `docs`: Documentation only changes (if related to the new feature)
28+
- [ ] `perf`: A code change that improves performance (if part of the feature)
29+
- [ ] `test`: Adding missing tests or correcting existing tests (for the new feature)
30+
- [ ] `chore`: Changes to the build process or auxiliary tools and libraries suchs as documentation generation (if related to the new feature)
31+
- [ ] `ci`: Changes to our CI configuration files and scripts (if related to the new feature)
32+
- [ ] `build`: Changes that affect the build system or external dependencies (if related to the new feature)
33+
- [ ] `revert`: Reverts a previous commit
34+
35+
## Breaking Change
36+
37+
<!--
38+
Does this PR introduce a breaking change?
39+
- If YES, please describe the impact and migration path for existing applications.
40+
- If NO, please indicate N/A.
41+
-->
42+
43+
- [ ] Yes
44+
- [ ] No
45+
(If Yes, please describe the impact and migration path below):
46+
47+
**Applicable `rhosocial-activerecord` Version Range:**
48+
<!-- Specify the version range of rhosocial-activerecord that this change is compatible with (e.g., ">=1.0.0,<2.0.0"). -->
49+
50+
51+
## Related Repositories/Packages
52+
53+
<!--
54+
If this change affects other repositories in the rhosocial-activerecord ecosystem (e.g., testsuite, mysql, postgres),
55+
please list them and describe the coordinated changes needed.
56+
-->
57+
58+
59+
## Testing
60+
61+
<!--
62+
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.
63+
Also, list any relevant configuration details (e.g., SQL Server version, Python version).
64+
-->
65+
66+
- [ ] I have added new tests to cover my changes.
67+
- [ ] I have updated existing tests to reflect my changes.
68+
- [ ] All existing tests pass.
69+
- [ ] This change has been tested on [specify backend/DB versions].
70+
71+
**Test Plan:**
72+
<!-- e.g., "Ran `pytest tests/rhosocial/activerecord_test/feature/my_new_feature.py`" -->
73+
74+
75+
## Checklist
76+
77+
<!--
78+
Go over all the following points, and put an `x` in all the boxes that apply.
79+
If you're unsure about any of these, don't hesitate to ask. We're here to help!
80+
-->
81+
82+
- [ ] My code follows the project's code style guidelines.
83+
- [ ] I have performed a self-review of my own code.
84+
- [ ] I have commented my code, particularly in hard-to-understand areas.
85+
- [ ] I have made corresponding changes to the documentation (Docstrings, `README.md`, etc.).
86+
- [ ] My changes generate no new warnings.
87+
- [ ] I have added a Changelog fragment (`changelog.d/<issue_number>.<type>.md`).
88+
- [ ] I have verified that my changes do not introduce SQL injection vulnerabilities.
89+
- [ ] I have checked for potential performance regressions.
90+
91+
## Additional Notes
92+
93+
<!-- Any additional information, context, or questions for reviewers. -->

0 commit comments

Comments
 (0)