mysql2-lambda 0.5.3.beta.1 → 0.5.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/BUILD +1 -0
- data/CHANGELOG.md +10 -1
- data/README.md +50 -17
- data/VERSION +1 -0
- data/lib/mysql2/mysql2.so +0 -0
- data/lib/mysql2-lambda.rb +16 -0
- data/mysql2-lambda.gemspec +2 -2
- metadata +10 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff9854786e4e035845150ca0484848ea336ce9b6c22e67d2bd6500423f5c7e98
|
4
|
+
data.tar.gz: 334f76aaf4fa32061595148a0ec58952647315456d553cde92d6b25748135c3f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b04235c2dae32e974e7df5163c5ea42d50c671f927dd2b103ebbbb9ceb39ca7e2b75767a89a698063a47fcf247020e7cc7ae040ed1776c352405179537a5abc
|
7
|
+
data.tar.gz: 2097cde86ff8541d668770f7ef3a0b3bf9431853dab9b7d43570a7244eeec3820fc4dfd83913c7b302c7ccb36f1d941a061af24ddbfe48e1a5c7461150b71982
|
data/BUILD
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2
|
data/CHANGELOG.md
CHANGED
@@ -1 +1,10 @@
|
|
1
|
-
|
1
|
+
<!-- -*- mode: markdown -*- -->
|
2
|
+
# Keep A Changelog!
|
3
|
+
|
4
|
+
See this http://keepachangelog.com link for information on how we want this documented formatted.
|
5
|
+
|
6
|
+
## v0.5.3.0
|
7
|
+
|
8
|
+
### Added
|
9
|
+
|
10
|
+
- Initial Release!!! 🎉🎊🥳
|
data/README.md
CHANGED
@@ -1,32 +1,65 @@
|
|
1
1
|
|
2
|
-
|
2
|
+
[](https://github.com/customink/mysql2-lambda/actions/workflows/test.yml)
|
3
3
|
|
4
|
-
|
4
|
+
# Mysql2 Lambda Gem
|
5
5
|
|
6
|
-
|
6
|
+
<a href="https://github.com/customink/lamby"><img src="https://user-images.githubusercontent.com/2381/59363668-89edeb80-8d03-11e9-9985-2ce14361b7e3.png" alt="Lamby: Simple Rails & AWS Lambda Integration using Rack." align="right" width="300" /></a>Very simple [Mysql2](https://github.com/brianmario/mysql2) gem precompiled for Amazon Linux 1 & 2 (Ruby 2.5 & 2.7) with statically linked `libmysqlclient` ready for any AWS Lambda usage, including Rails. Add it to your Gemfile:
|
7
7
|
|
8
|
-
* Clone or fork this repository.
|
9
|
-
* Make sure you have Docker or AWS CLI installed.
|
10
|
-
* Run `./bin/deploy` or `./bin/deploy-${stage}` scripts.
|
11
8
|
|
12
|
-
|
9
|
+
```ruby
|
10
|
+
# When using Rails.
|
11
|
+
gem 'mysql2-lambda'
|
13
12
|
|
14
|
-
|
13
|
+
# When NOT using Rails.
|
14
|
+
gem 'mysql2-lambda', require: 'mysql2'
|
15
|
+
```
|
16
|
+
|
17
|
+
Part of a suite of open source projects from **[Lamby: Simple Rails & AWS Lambda Integration using Rack.](https://github.com/customink/lamby)** Details include:
|
15
18
|
|
16
|
-
|
19
|
+
- Tested on Ruby 2.5.x & 2.7.x
|
20
|
+
- Small Size! Only 5 Megabytes. No Lambda Layers needed!
|
21
|
+
- Works with any MySQL connection. Including RDS Proxy.
|
17
22
|
|
18
|
-
##
|
23
|
+
## Methodology
|
19
24
|
|
20
|
-
|
25
|
+
We used the `amazon/aws-sam-cli-build-image-ruby2.5` Docker image from the [SAM CLI](https://github.com/aws/aws-sam-cli) project to build the MySQL Connector/C's `libmysqlclient`. From there we ensure the Mysql2 gem statically includes that library. The resulting packaged gem and `mysql2.so` file looks something like this.
|
21
26
|
|
27
|
+
```shell
|
28
|
+
$ ldd mysql2.so
|
29
|
+
linux-vdso.so.1 => (0x00007ffcb15d4000)
|
30
|
+
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fa8ebd21000)
|
31
|
+
librt.so.1 => /lib64/librt.so.1 (0x00007fa8ebb19000)
|
32
|
+
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa8eb8fd000)
|
33
|
+
libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007fa8eb687000)
|
34
|
+
libdl.so.2 => /lib64/libdl.so.2 (0x00007fa8eb483000)
|
35
|
+
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fa8eb24c000)
|
36
|
+
libm.so.6 => /lib64/libm.so.6 (0x00007fa8eaf4a000)
|
37
|
+
libc.so.6 => /lib64/libc.so.6 (0x00007fa8eab7c000)
|
38
|
+
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fa8ea966000)
|
39
|
+
/lib64/ld-linux-x86-64.so.2 (0x00007fa8ec72e000)
|
40
|
+
libfreebl3.so => /lib64/libfreebl3.so (0x00007fa8ea764000)
|
22
41
|
```
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
42
|
+
|
43
|
+
## Development
|
44
|
+
|
45
|
+
Clone or fork this repository, make sure you have Docker installed, then run the following commands.
|
46
|
+
|
47
|
+
```shell
|
48
|
+
./bin/setup
|
49
|
+
./bin/build
|
27
50
|
```
|
28
51
|
|
52
|
+
You will now have a packaged gem in the root of your project. Simple tests to make sure it works.
|
29
53
|
|
30
|
-
|
54
|
+
```shell
|
55
|
+
./bin/test 2.5
|
56
|
+
./bin/test 2.7
|
57
|
+
```
|
58
|
+
|
59
|
+
## License
|
60
|
+
|
61
|
+
Thanks to all the contributors of the `Mysql2` (https://github.com/brianmario/mysql2) gem. The license here is the same as that. MIT.
|
62
|
+
|
63
|
+
## Code of Conduct
|
31
64
|
|
32
|
-
|
65
|
+
Everyone interacting in the Mysql2 Lambda project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/customink/mysql2-lambda/blob/master/CODE_OF_CONDUCT.md).
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.5.3
|
data/lib/mysql2/mysql2.so
CHANGED
Binary file
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Not perfect. Simple `gem` hack to avoid the
|
2
|
+
# Mysql2Adapter in ActiveREcord from using rubygems.
|
3
|
+
#
|
4
|
+
if defined?(Rails)
|
5
|
+
$ORIG_GEM_METHOD = method(:gem)
|
6
|
+
kernel = (class << ::Kernel; self; end)
|
7
|
+
[kernel, ::Kernel].each do |k|
|
8
|
+
k.send :remove_method, :gem
|
9
|
+
k.send :define_method, :gem do |dep, *reqs|
|
10
|
+
unless ['mysql2'].include?(dep)
|
11
|
+
$ORIG_GEM_METHOD.call(dep, *reqs)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
k.send :public, :gem
|
15
|
+
end
|
16
|
+
end
|
data/mysql2-lambda.gemspec
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'mysql2-lambda'
|
3
|
-
s.version = '
|
3
|
+
s.version = "#{File.read('VERSION').strip}.#{File.read('BUILD').strip}"
|
4
4
|
s.authors = ['Ken Collins']
|
5
5
|
s.license = "MIT"
|
6
6
|
s.email = ['kcollins@customink.com']
|
7
7
|
s.homepage = 'https://github.com/customink/mysql2-lambda'
|
8
8
|
s.rdoc_options = ['--charset=UTF-8']
|
9
|
-
s.summary = 'Precompiled Mysql2 gem for AWS Lambda
|
9
|
+
s.summary = 'Precompiled Mysql2 gem for AWS Lambda.'
|
10
10
|
s.metadata = {
|
11
11
|
'bug_tracker_uri' => "#{s.homepage}/issues",
|
12
12
|
'changelog_uri' => "#{s.homepage}/releases/tag/#{s.version}",
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mysql2-lambda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.3.
|
4
|
+
version: 0.5.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ken Collins
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|
@@ -17,9 +17,12 @@ executables: []
|
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
|
+
- "./BUILD"
|
20
21
|
- "./CHANGELOG.md"
|
21
22
|
- "./LICENSE"
|
22
23
|
- "./README.md"
|
24
|
+
- "./VERSION"
|
25
|
+
- "./lib/mysql2-lambda.rb"
|
23
26
|
- "./lib/mysql2.rb"
|
24
27
|
- "./lib/mysql2/client.rb"
|
25
28
|
- "./lib/mysql2/console.rb"
|
@@ -36,9 +39,9 @@ licenses:
|
|
36
39
|
- MIT
|
37
40
|
metadata:
|
38
41
|
bug_tracker_uri: https://github.com/customink/mysql2-lambda/issues
|
39
|
-
changelog_uri: https://github.com/customink/mysql2-lambda/releases/tag/0.5.3.
|
42
|
+
changelog_uri: https://github.com/customink/mysql2-lambda/releases/tag/0.5.3.2
|
40
43
|
homepage_uri: https://github.com/customink/mysql2-lambda
|
41
|
-
source_code_uri: https://github.com/customink/mysql2-lambda/tree/0.5.3.
|
44
|
+
source_code_uri: https://github.com/customink/mysql2-lambda/tree/0.5.3.2
|
42
45
|
post_install_message:
|
43
46
|
rdoc_options:
|
44
47
|
- "--charset=UTF-8"
|
@@ -51,12 +54,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
51
54
|
version: 2.5.5
|
52
55
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
53
56
|
requirements:
|
54
|
-
- - "
|
57
|
+
- - ">="
|
55
58
|
- !ruby/object:Gem::Version
|
56
|
-
version:
|
59
|
+
version: '0'
|
57
60
|
requirements: []
|
58
61
|
rubygems_version: 3.1.2
|
59
62
|
signing_key:
|
60
63
|
specification_version: 4
|
61
|
-
summary: Precompiled Mysql2 gem for AWS Lambda
|
64
|
+
summary: Precompiled Mysql2 gem for AWS Lambda.
|
62
65
|
test_files: []
|