文件名称:upsert:在MySQL,PostgreSQL和SQLite3上更新。 透明地为MySQL和PostgreSQL创建函数(UDF); 在SQLite3上,使用INSERT或IGNORE
文件大小:65KB
文件格式:ZIP
更新时间:2024-05-12 18:10:09
Ruby
增补 轻松在MySQL,PostgreSQL和SQLite3之类的传统RDBMS上进行增补—看起来NoSQL!。 必要时透明地创建(和重用)存储过程/函数。 您可以通过裸机连接到数据库,例如Mysql2::Client (来自MRI上的mysql2 gem)或Java::OrgPostgresqlJdbc4::Jdbc4Connection (来自Jruby上的jdbc-postgres )。 随着数据库开始原生支持SQL MERGE(基本上是upsert),该库将得到利用(但您不必更改代码)。 不依赖于ActiveRecord。 不要在MySQL上使用INSERT ON DUPLICATE KEY UPDATE ,因为只有当您非常谨慎地创建唯一索引时,这才起作用。 比使用ActiveRecord模拟ups的速度快70–90%。 支持MRI和JRuby。 用法 您传递一个唯一
【文件预览】:
upsert-master
----upsert-java.gemspec(488B)
----.github()
--------workflows()
----.ruby-version(6B)
----upsert.gemspec(439B)
----lib()
--------upsert()
--------upsert.rb(9KB)
----Gemfile(296B)
----spec()
--------active_record_upsert_spec.rb(709B)
--------threaded_spec.rb(2KB)
--------postgresql_spec.rb(4KB)
--------correctness_spec.rb(7KB)
--------timezones_spec.rb(2KB)
--------database_spec.rb(5KB)
--------hstore_spec.rb(11KB)
--------jruby_spec.rb(335B)
--------binary_spec.rb(725B)
--------database_functions_spec.rb(3KB)
--------sequel_spec.rb(2KB)
--------fully_qualified_spec.rb(1KB)
--------reserved_words_spec.rb(2KB)
--------spec_helper.rb(12KB)
--------type_safety_spec.rb(409B)
--------speed_spec.rb(1KB)
--------misc()
--------precision_spec.rb(337B)
--------logger_spec.rb(1KB)
--------multibyte_spec.rb(948B)
----Rakefile(1KB)
----LICENSE(1KB)
----README.md(14KB)
----travis()
--------run_specs.sh(471B)
--------install_postgres.sh(1KB)
--------tune_mysql.sh(404B)
--------run_docker_db.sh(971B)
----.rspec(25B)
----.yardopts(32B)
----.gitignore(170B)
----upsert.gemspec.common(4KB)
----.standard.yml(19B)
----CHANGELOG(7KB)