sqlite3-foreigner 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/foreigner/connection_adapters/sqlite3_adapter.rb +2 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 91330d7089768352a9c58e03a18dcc8c827b45d3
|
4
|
+
data.tar.gz: 4e1ae3166e709199e7dd5bf9209a3e4a551a8a70
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa49d0d628379c7b052f11ad7e339c4060d5a873f3a5797b609d3d01c477a082c0f94ff3746ca37a4e4e2874fb590e702e287b3503c40fb0168997ea32ce4984
|
7
|
+
data.tar.gz: e2b01c1e21d50637449602f084650db8f06790b1d533c8aa126c637964e097d3ba022626c181775091377e242a6dafcecb6647f526381d7d7aa78162125160ba
|
@@ -19,6 +19,7 @@ module Foreigner
|
|
19
19
|
def add_foreign_key(from_table, to_table, options = {})
|
20
20
|
|
21
21
|
fk_column_name = options[:column] || foreign_key_column(to_table)
|
22
|
+
pk_column_name = options[:primary_key] || 'id'
|
22
23
|
|
23
24
|
meta_results = exec_query("select sql from sqlite_master where name = $1", nil, [[nil, from_table]])
|
24
25
|
if meta_results.nil? || meta_results.rows.size == 0
|
@@ -34,8 +35,7 @@ module Foreigner
|
|
34
35
|
|
35
36
|
execute("drop table #{from_table}")
|
36
37
|
|
37
|
-
|
38
|
-
re_create_table = create_table.gsub(/("#{fk_column_name}"\s+[^,]+),/, "\\1 references #{to_table}(#{primary_key}),")
|
38
|
+
re_create_table = create_table.gsub(/("#{fk_column_name}"\s+[^,\)]+)([,\)])/, "\\1 references #{to_table}(#{pk_column_name})\\2")
|
39
39
|
execute(re_create_table)
|
40
40
|
end
|
41
41
|
|