Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/waterlink/mysql_adapter.cr
Mysql adapter for [active_record.cr](https://github.com/waterlink/active_record.cr). Uses [crystal-mysql library](https://github.com/waterlink/crystal-mysql)
https://github.com/waterlink/mysql_adapter.cr
Last synced: 3 months ago
JSON representation
Mysql adapter for [active_record.cr](https://github.com/waterlink/active_record.cr). Uses [crystal-mysql library](https://github.com/waterlink/crystal-mysql)
- Host: GitHub
- URL: https://github.com/waterlink/mysql_adapter.cr
- Owner: waterlink
- License: mit
- Created: 2015-06-13T21:05:58.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-01-01T23:32:49.000Z (about 8 years ago)
- Last Synced: 2024-04-15T03:18:20.104Z (9 months ago)
- Language: Crystal
- Size: 27.3 KB
- Stars: 6
- Watchers: 3
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mysql_adapter.cr [![Build Status](https://travis-ci.org/waterlink/mysql_adapter.cr.svg?branch=master)](https://travis-ci.org/waterlink/mysql_adapter.cr)
Mysql adapter for [active_record.cr](https://github.com/waterlink/active_record.cr). Uses [crystal-mysql library](https://github.com/waterlink/crystal-mysql)
## TODO
- [x] Implement with some default connection config
- [x] Fix segfaults from upstrem lib (`crystal-mysql`)
- [ ] Figure out a way to provide connection pool## Installation
Add it to your `shard.yml`
```yml
dependencies:
mysql_adapter:
github: waterlink/mysql_adapter.cr
version: ~> 0.2
```## Usage
```crystal
require "active_record"
require "mysql_adapter"class Person < ActiveRecord::Model
adapter mysql
# ...
end
```### Connection configuration
Currently, connection can be configured through environment variables:
```bash
$ export MYSQL_HOST=localhost
$ export MYSQL_PORT=3306
$ export MYSQL_USER=test
$ export MYSQL_PASSWORD=welcome
$ export MYSQL_DATABASE=test_db# And run your code
$ crystal run src/your_code.cr
```Alternative way of doing that is to set these variables programmatically before
using `mysql_adapter` or `active_record`:```crystal
# You are free to read these values from config file for instance.
ENV["MYSQL_HOST"] = "localhost"
ENV["MYSQL_PORT"] = 3306
ENV["MYSQL_USER"] = "test"
ENV["MYSQL_PASSWORD"] = "welcome"
ENV["MYSQL_DATABASE"] = "test_db"
```## Development
After cloning run initial setup:
```
./bin/setup
```Just use normal TDD cycle. To run tests use:
```
./bin/test
```This will run unit test in `spec/` and integration spec in `integration/`.
## Contributing
1. Fork it ( https://github.com/waterlink/mysql_adapter.cr/fork )
2. Create your feature branch (git checkout -b my-new-feature)
3. Commit your changes (git commit -am 'Add some feature')
4. Push to the branch (git push origin my-new-feature)
5. Create a new Pull Request## Contributors
- [waterlink](https://github.com/waterlink) Oleksii Fedorov - creator, maintainer