-
-
Notifications
You must be signed in to change notification settings - Fork 810
Expand file tree
/
Copy pathpre-migration.py
More file actions
81 lines (70 loc) · 2.2 KB
/
pre-migration.py
File metadata and controls
81 lines (70 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
from openupgradelib import openupgrade
_column_renames = {
"project_task": [
("user_id", None),
],
}
def fill_project_project_allow_task_dependencies(env):
openupgrade.add_fields(
env,
[
(
"allow_task_dependencies",
"project.project",
"project_project",
"boolean",
"bool",
"project",
True,
),
],
)
def fill_project_project_last_update_status(env):
openupgrade.add_fields(
env,
[
(
"last_update_status",
"project.project",
"project_project",
"selection",
"varchar",
"project",
"on_track",
),
],
)
def adapt_project_task_dependency(env):
# check if project_task_dependency was installed
if not openupgrade.table_exists(env.cr, "project_task_dependency_task_rel"):
return
openupgrade.rename_tables(
env.cr, [("project_task_dependency_task_rel", "task_dependencies_rel")]
)
openupgrade.rename_fields(
env,
[
("project.task", "project_task", "dependency_task_ids", "depend_on_ids"),
("project.task", "project_task", "depending_task_ids", "dependent_ids"),
],
)
openupgrade.rename_columns(
env.cr, {"task_dependencies_rel": [("dependency_task_id", "depends_on_id")]}
)
def rename_project_milestone_target_date(env):
"""If project_milestone is installed then rename column target_date
to deadline.
"""
if openupgrade.column_exists(env.cr, "project_milestone", "target_date"):
openupgrade.rename_columns(
env.cr,
{"project_milestone": [("target_date", "deadline")]},
)
@openupgrade.migrate()
def migrate(env, version):
if openupgrade.column_exists(env.cr, "project_task", "user_id"):
openupgrade.rename_columns(env.cr, _column_renames)
adapt_project_task_dependency(env)
fill_project_project_allow_task_dependencies(env)
fill_project_project_last_update_status(env)
rename_project_milestone_target_date(env)