Skip to content

Commit 53ef39d

Browse files
committed
Added onUpdate and onDelete constraint properties
1 parent e39246f commit 53ef39d

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

export-laravel-5-migrations.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,15 +112,13 @@ def export_schema(out, schema, is_main_schema):
112112
if first_foreign_created == 0:
113113
out.write('\n')
114114
first_foreign_created = 1
115-
out.write(" $table->foreign('" + fkey.columns[0].name + "')->references('" + fkey.referencedColumns[0].name + "')->on('" + fkey.referencedColumns[0].owner.name + "');")
115+
out.write(" $table->foreign('" + fkey.columns[0].name + "')->references('" + fkey.referencedColumns[0].name + "')->on('" + fkey.referencedColumns[0].owner.name + "')->onDelete('" + fkey.deleteRule.lower() + "')->onUpdate('" + fkey.updateRule.lower() + "');")
116116
out.write('\n')
117117
else:
118118
if fkey.referencedColumns[0].owner.name not in foreign_keys:
119119
foreign_keys[fkey.referencedColumns[0].owner.name] = []
120-
foreign_keys[fkey.referencedColumns[0].owner.name].append({'table':fkey.columns[0].owner.name, 'name':fkey.columns[0].name, 'referenced_table':fkey.referencedColumns[0].owner.name, 'referenced_name':fkey.referencedColumns[0].name})
121-
120+
foreign_keys[fkey.referencedColumns[0].owner.name].append({'table':fkey.columns[0].owner.name, 'name':fkey.columns[0].name, 'referenced_table':fkey.referencedColumns[0].owner.name, 'referenced_name':fkey.referencedColumns[0].name, 'update_rule':fkey.updateRule, 'delete_rule':fkey.deleteRule})
122121
out.write(" });\n")
123-
124122
for fkey, fval in foreign_keys.iteritems():
125123
if fkey == tbl.name:
126124
keyed_tables = []
@@ -132,7 +130,7 @@ def export_schema(out, schema, is_main_schema):
132130
out.write('\n')
133131
out.write(" Schema::table('" + item['table'] + "', function (Blueprint $table) {\n")
134132
schema_table = 1
135-
out.write(" $table->foreign('" + item['name'] + "')->references('" + item['referenced_name'] + "')->on('" + item['referenced_table'] + "');\n")
133+
out.write(" $table->foreign('" + item['name'] + "')->references('" + item['referenced_name'] + "')->on('" + item['referenced_table'] + "')->onDelete('" + item['delete_rule'].lower() + "')->onUpdate('" + item['update_rule'].lower() + "');\n")
136134
if schema_table == 1:
137135
out.write(" });\n")
138136
out.write('\n')

0 commit comments

Comments
 (0)